@@ -13,7 +13,7 @@ import (
1313
1414// EmbeddingProvider is an OpenAI implementation of the EmbeddingProvider interface
1515type EmbeddingProvider struct {
16- client * openai.Client
16+ client * openai.Client
1717}
1818
1919// NewEmbeddingProvider creates a new OpenAI embedding provider instance
@@ -23,15 +23,17 @@ func NewEmbeddingProvider(apiKey string) providers.EmbeddingProvider {
2323 if base := strings .TrimSpace (os .Getenv ("OPENAI_BASE_URL" )); base != "" {
2424 cfg .BaseURL = base
2525 }
26- // If using OpenRouter, attach recommended headers if provided
26+ // If using OpenRouter, attach recommended headers via custom transport
2727 if strings .Contains (strings .ToLower (cfg .BaseURL ), "openrouter.ai" ) {
28+ headers := map [string ]string {}
2829 if ref := strings .TrimSpace (os .Getenv ("OPENROUTER_SITE_URL" )); ref != "" {
29- if cfg .Headers == nil { cfg .Headers = map [string ]string {} }
30- cfg .Headers ["HTTP-Referer" ] = ref
30+ headers ["HTTP-Referer" ] = ref
3131 }
3232 if title := strings .TrimSpace (os .Getenv ("OPENROUTER_APP_NAME" )); title != "" {
33- if cfg .Headers == nil { cfg .Headers = map [string ]string {} }
34- cfg .Headers ["X-Title" ] = title
33+ headers ["X-Title" ] = title
34+ }
35+ if len (headers ) > 0 {
36+ cfg .HTTPClient = makeHTTPDoerWithHeaders (headers )
3537 }
3638 }
3739 client := openai .NewClientWithConfig (cfg )
@@ -43,15 +45,15 @@ func NewEmbeddingProvider(apiKey string) providers.EmbeddingProvider {
4345// CreateEmbedding converts text into a vector embedding using OpenAI's API
4446func (p * EmbeddingProvider ) CreateEmbedding (ctx context.Context , text string ) ([]float32 , error ) {
4547 // Choose embedding model (allow override via env for non-OpenAI endpoints)
46- model := openai .LargeEmbedding3
48+ modelName := string ( openai .LargeEmbedding3 )
4749 if v := strings .TrimSpace (os .Getenv ("OPENAI_EMBEDDING_MODEL" )); v != "" {
48- model = v
50+ modelName = v
4951 }
5052
5153 // Create embedding request
5254 req := openai.EmbeddingRequest {
5355 Input : []string {text },
54- Model : model ,
56+ Model : openai . EmbeddingModel ( modelName ) ,
5557 }
5658
5759 // Call OpenAI API
0 commit comments