diff --git a/dto/openai_response.go b/dto/openai_response.go index ed33f0c7..4e534823 100644 --- a/dto/openai_response.go +++ b/dto/openai_response.go @@ -48,6 +48,19 @@ type OpenAIEmbeddingResponse struct { Usage `json:"usage"` } +type FlexibleEmbeddingResponseItem struct { + Object string `json:"object"` + Index int `json:"index"` + Embedding any `json:"embedding"` +} + +type FlexibleEmbeddingResponse struct { + Object string `json:"object"` + Data []FlexibleEmbeddingResponseItem `json:"data"` + Model string `json:"model"` + Usage `json:"usage"` +} + type ChatCompletionsStreamResponseChoice struct { Delta ChatCompletionsStreamResponseChoiceDelta `json:"delta,omitempty"` Logprobs *any `json:"logprobs"` diff --git a/relay/channel/ali/text.go b/relay/channel/ali/text.go index bc49501c..6d90fa71 100644 --- a/relay/channel/ali/text.go +++ b/relay/channel/ali/text.go @@ -40,7 +40,7 @@ func embeddingRequestOpenAI2Ali(request dto.EmbeddingRequest) *AliEmbeddingReque } func aliEmbeddingHandler(c *gin.Context, resp *http.Response) (*types.NewAPIError, *dto.Usage) { - var fullTextResponse dto.OpenAIEmbeddingResponse + var fullTextResponse dto.FlexibleEmbeddingResponse err := json.NewDecoder(resp.Body).Decode(&fullTextResponse) if err != nil { return types.NewError(err, types.ErrorCodeBadResponseBody), nil