From 1ad6bd23a322c39c8c16106bd9266fb6fb04c198 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=91=E5=B9=BB=E5=A4=A7=E8=84=91?= <47254718+Sci-fiBrain@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:20:52 +0800 Subject: [PATCH] fix(embedding): respect server_url for openai embedding provider --- pkg/embedding/embeddings_handler.go | 2 +- pkg/embedding/oai/oai_embedding.go | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pkg/embedding/embeddings_handler.go b/pkg/embedding/embeddings_handler.go index 525898e..e5e2ed1 100644 --- a/pkg/embedding/embeddings_handler.go +++ b/pkg/embedding/embeddings_handler.go @@ -75,7 +75,7 @@ func EmbeddingsHandler(c *gin.Context) { case "qianfan": oaiResp, err = baiduqianfan.BaiduQianfanEmbedding(&oaiEmbReq, apiKey, secretKey, proxyTransport) case "openai": - oaiResp, err = oai.OpenAIEmbedding(&oaiEmbReq, apiKey, proxyTransport) + oaiResp, err = oai.OpenAIEmbedding(&oaiEmbReq, apiKey, s.ServerURL, proxyTransport) default: mylog.Logger.Error("Unsupported service", zap.String("service", s.ServiceName)) c.JSON(http.StatusBadRequest, gin.H{"error": "Unsupported service"}) diff --git a/pkg/embedding/oai/oai_embedding.go b/pkg/embedding/oai/oai_embedding.go index dc5dbb3..c6668fc 100644 --- a/pkg/embedding/oai/oai_embedding.go +++ b/pkg/embedding/oai/oai_embedding.go @@ -6,13 +6,19 @@ import ( "fmt" "io" "net/http" + "strings" "time" ) // GenerateEmbedding 生成文本的嵌入向量 -func OpenAIEmbedding(embReq *EmbeddingRequest, apiKey string, proxyTransport *http.Transport) (*EmbeddingResponse, error) { +func OpenAIEmbedding(embReq *EmbeddingRequest, apiKey string, serverURL string, proxyTransport *http.Transport) (*EmbeddingResponse, error) { - url := "https://api.openai.com/v1/embeddings" + url := serverURL + if url == "" { + url = "https://api.openai.com/v1/embeddings" + } else { + url = strings.TrimRight(url, "/") + "/embeddings" + } requestBody, err := json.Marshal(embReq) if err != nil { return nil, fmt.Errorf("JSON 编码错误: %v", err)