diff --git a/relay/channel/ali/text.go b/relay/channel/ali/text.go index 3fe893b3..5706f8b0 100644 --- a/relay/channel/ali/text.go +++ b/relay/channel/ali/text.go @@ -3,7 +3,6 @@ package ali import ( "bufio" "encoding/json" - "github.com/gin-gonic/gin" "io" "net/http" "one-api/common" @@ -11,6 +10,8 @@ import ( "one-api/relay/helper" "one-api/service" "strings" + + "github.com/gin-gonic/gin" ) // https://help.aliyun.com/document_detail/613695.html?spm=a2c4g.2399480.0.0.1adb778fAdzP9w#341800c0f8w0r @@ -27,9 +28,6 @@ func requestOpenAI2Ali(request dto.GeneralOpenAIRequest) *dto.GeneralOpenAIReque } func embeddingRequestOpenAI2Ali(request dto.EmbeddingRequest) *AliEmbeddingRequest { - if request.Model == "" { - request.Model = "text-embedding-v1" - } return &AliEmbeddingRequest{ Model: request.Model, Input: struct { @@ -64,7 +62,11 @@ func aliEmbeddingHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorW }, nil } - fullTextResponse := embeddingResponseAli2OpenAI(&aliResponse) + model := c.GetString("model") + if model == "" { + model = "text-embedding-v4" + } + fullTextResponse := embeddingResponseAli2OpenAI(&aliResponse, model) jsonResponse, err := json.Marshal(fullTextResponse) if err != nil { return service.OpenAIErrorWrapper(err, "marshal_response_body_failed", http.StatusInternalServerError), nil @@ -75,11 +77,11 @@ func aliEmbeddingHandler(c *gin.Context, resp *http.Response) (*dto.OpenAIErrorW return nil, &fullTextResponse.Usage } -func embeddingResponseAli2OpenAI(response *AliEmbeddingResponse) *dto.OpenAIEmbeddingResponse { +func embeddingResponseAli2OpenAI(response *AliEmbeddingResponse, model string) *dto.OpenAIEmbeddingResponse { openAIEmbeddingResponse := dto.OpenAIEmbeddingResponse{ Object: "list", Data: make([]dto.OpenAIEmbeddingResponseItem, 0, len(response.Output.Embeddings)), - Model: "text-embedding-v1", + Model: model, Usage: dto.Usage{TotalTokens: response.Usage.TotalTokens}, }