fix: embedding URL path missing /v1 prefix

The embedding endpoint path was  but OpenAI-compatible APIs
serve embeddings at . When EMBEDDING_BASE_URL is set to a
bare host (e.g. https://llm.aviron.ai), the resulting URL would be
/eembeddings instead of /v1/embeddings, returning 404.

Changed defaultBaseURL to not include /v1 and always use /v1/embeddings
as the endpoint path.
This commit is contained in:
didier committed 2026-06-01 13:09:38 -04:00
1 parent 306fea37fd
commit 5ac11631d4
3 files changed
+5 -5

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@ QDRANT_PORT=6334
# QDRANT_API_KEY= # QDRANT_API_KEY=
# QDRANT_TLS=false # QDRANT_TLS=false
OPENAI_API_KEY=sk-... OPENAI_API_KEY=sk-...
# EMBEDDING_BASE_URL=https://api.openai.com/v1 # EMBEDDING_BASE_URL=https://api.openai.com
EMBEDDING_MODEL=text-embedding-3-small EMBEDDING_MODEL=text-embedding-3-small
MCP_TOKEN=change-me MCP_TOKEN=change-me
PORT=8080 PORT=8080
+2 -2
View File
@@ -12,7 +12,7 @@ import (
) )
const defaultModel = "text-embedding-3-small" const defaultModel = "text-embedding-3-small"
const defaultBaseURL = "https://api.openai.com/v1" const defaultBaseURL = "https://api.openai.com"
type embedder struct { type embedder struct {
apiKey string apiKey string
@@ -61,7 +61,7 @@ func (e *embedder) embedText(ctx context.Context, text string) ([]float32, error
return nil, fmt.Errorf("marshal embedding request: %w", err) return nil, fmt.Errorf("marshal embedding request: %w", err)
} }
req, err := http.NewRequestWithContext(ctx, http.MethodPost, e.baseURL+"/embeddings", bytes.NewReader(body)) req, err := http.NewRequestWithContext(ctx, http.MethodPost, e.baseURL+"/v1/embeddings", bytes.NewReader(body))
if err != nil { if err != nil {
return nil, fmt.Errorf("create embedding request: %w", err) return nil, fmt.Errorf("create embedding request: %w", err)
} }
+2 -2
View File
@@ -77,8 +77,8 @@
embeddingBaseUrl = lib.mkOption { embeddingBaseUrl = lib.mkOption {
type = lib.types.str; type = lib.types.str;
default = "https://api.openai.com/v1"; default = "https://api.openai.com";
description = "Base URL for the embeddings API."; description = "Base URL for the embeddings API. Do not include /v1 suffix; it is appended automatically.";
}; };
embeddingModel = lib.mkOption { embeddingModel = lib.mkOption {