From b04d06da4c2b0cf3b7e869c6cde080434d13d6e2 Mon Sep 17 00:00:00 2001 From: Liujian <824010343@qq.com> Date: Mon, 14 Oct 2024 16:29:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BE=9B=E5=BA=94=E5=95=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model-providers/wenxin/wenxin.yaml | 2 +- ai-provider/model-runtime/param.go | 10 ++++++- ai-provider/model-runtime/provider.go | 28 ------------------- controller/service/iml.go | 17 ++++++----- 4 files changed, 20 insertions(+), 37 deletions(-) diff --git a/ai-provider/model-runtime/model-providers/wenxin/wenxin.yaml b/ai-provider/model-runtime/model-providers/wenxin/wenxin.yaml index bfcf023b..f4fde100 100644 --- a/ai-provider/model-runtime/model-providers/wenxin/wenxin.yaml +++ b/ai-provider/model-runtime/model-providers/wenxin/wenxin.yaml @@ -38,4 +38,4 @@ provider_credential_schema: placeholder: zh_Hans: 在此输入您的 Secret Key en_US: Enter your Secret Key -address: https://api.openai.com \ No newline at end of file +address: https://aip.baidubce.com \ No newline at end of file diff --git a/ai-provider/model-runtime/param.go b/ai-provider/model-runtime/param.go index 684e3d31..0e10f644 100644 --- a/ai-provider/model-runtime/param.go +++ b/ai-provider/model-runtime/param.go @@ -32,7 +32,15 @@ func (p ParamValidator) GenConfig(target map[string]interface{}, origin map[stri if !ok || v == "******" { continue } - target[rule.Name] = origin[rule.Name] + tv, ok := target[rule.Name] + if !ok { + continue + } + v, ok = tv.(string) + if !ok || v == "******" { + target[rule.Name] = origin[rule.Name] + } + } data, err := json.Marshal(target) if err != nil { diff --git a/ai-provider/model-runtime/provider.go b/ai-provider/model-runtime/provider.go index 076f746f..db19f849 100644 --- a/ai-provider/model-runtime/provider.go +++ b/ai-provider/model-runtime/provider.go @@ -4,7 +4,6 @@ import ( "encoding/json" "fmt" "net/url" - "strings" yaml "gopkg.in/yaml.v3" @@ -229,30 +228,3 @@ func (p *providerUri) Host() string { func (p *providerUri) Path() string { return p.path } - -func PartialMasking(origin string, begin int, length int) string { - target := strings.Builder{} - runes := []rune(origin) - size := len(runes) - if begin > size { - return origin - } else if length == -1 || begin+length > size { - for i := 0; i < begin; i++ { - target.WriteRune(runes[i]) - } - for i := begin; i < size; i++ { - target.WriteRune('*') - } - } else { - for i := 0; i < begin; i++ { - target.WriteRune(runes[i]) - } - for i := begin; i < begin+length; i++ { - target.WriteRune('*') - } - for i := begin + length; i < size; i++ { - target.WriteRune(runes[i]) - } - } - return target.String() -} diff --git a/controller/service/iml.go b/controller/service/iml.go index a8a68a6a..793808e7 100644 --- a/controller/service/iml.go +++ b/controller/service/iml.go @@ -95,10 +95,7 @@ func (i *imlServiceController) CreateAIService(ctx *gin.Context, teamID string, if input.Provider == nil { return nil, fmt.Errorf("provider is required") } - pv, err := i.providerModule.Provider(ctx, *input.Provider) - if err != nil { - return nil, err - } + if input.Id == "" { input.Id = uuid.New().String() } @@ -113,8 +110,14 @@ func (i *imlServiceController) CreateAIService(ctx *gin.Context, teamID string, if !has { return nil, fmt.Errorf("provider not found") } + m, has := p.DefaultModel(model_runtime.ModelTypeLLM) + if !has { + return nil, fmt.Errorf("provider default llm not found") + } + var info *service_dto.Service - err = i.transaction.Transaction(ctx, func(txCtx context.Context) error { + err := i.transaction.Transaction(ctx, func(txCtx context.Context) error { + var err error info, err = i.module.Create(ctx, teamID, input) if err != nil { return err @@ -143,8 +146,8 @@ func (i *imlServiceController) CreateAIService(ctx *gin.Context, teamID string, Prompt: "You need to translate {{source_lang}} into {{target_lang}}, and the following is the content that needs to be translated.\n---\n{{text}}", } aiModel := &ai_api_dto.AiModel{ - Id: pv.DefaultLLM, - Config: pv.DefaultLLMConfig, + Id: m.ID(), + Config: m.DefaultConfig(), } name := "Demo Translation API" description := "A demo that shows you how to use a prompt to create a Translation API."