@@ -20,44 +20,45 @@ def __init__(self, embedding_manager: EmbeddingManager):
2020 Args:
2121 embedding_manager: Pre-configured EmbeddingManager with validated parameters
2222 """
23- config = embedding_manager .config
24- self .config = config
23+ self .config = embedding_manager .config
2524
2625 # Map provider names to litellm format
27- provider = config .provider .lower ()
28- model = config .model
26+ provider = self .config .provider .lower ()
27+ model = self .config .model
28+ # Get additional provider kwargs
29+ kwargs : dict [str , Any ] = {}
30+ if self .config .provider_kwargs :
31+ kwargs .update (self .config .provider_kwargs )
2932
30- # Build the model string for litellm
31- # Only OpenAI, Gemini, and HuggingFace are supported
32- if provider == "openai" :
33- model_str = model # OpenAI models don't need prefix
33+ # Provider-specific configuration
34+ if provider in ["openai" , "gemini" ]:
35+ logger .debug ("Using %s provider with model: %s" , provider , model )
36+ actual_provider = (
37+ "litellm" # Litellm provider auto-creates client in embedding_factory
38+ )
3439 elif provider == "huggingface" :
35- model_str = f"huggingface/{ model } "
36- elif provider == "gemini" :
37- model_str = f"gemini/{ model } "
40+ # HuggingFace default is use_api=False (local sentence-transformers)
41+ # Only set explicitly if user hasn't overridden in provider_kwargs
42+ kwargs .setdefault ("use_api" , False )
43+ logger .debug (
44+ "Using HuggingFace provider with model: %s (local=%s)" ,
45+ model ,
46+ not kwargs ["use_api" ],
47+ )
48+ actual_provider = "huggingface"
3849 else :
39- logger .error ("Unknown embedding provider: %s" , config .provider )
40- raise ConfigurationError (f"Unknown embedding provider { config .provider } " )
41-
42- logger .debug (
43- "Using embedding provider: %s with model: %s -> %s" ,
44- provider ,
45- model ,
46- model_str ,
47- )
48-
49- # Get additional provider kwargs
50- kwargs : dict [str , Any ] = {}
51- if config .provider_kwargs :
52- kwargs .update (config .provider_kwargs )
50+ logger .error ("Unknown embedding provider: %s" , self .config .provider )
51+ raise ConfigurationError (
52+ f"Unknown embedding provider { self .config .provider } "
53+ )
5354
54- # Create embeddings using ragas 0.4+ embedding_factory with litellm
55+ # Create embeddings using ragas 0.4+ embedding_factory
5556 # Cast to BaseRagasEmbedding as embedding_factory returns union type
5657 self .embeddings : BaseRagasEmbedding = cast (
5758 BaseRagasEmbedding ,
5859 embedding_factory (
59- "litellm" ,
60- model = model_str ,
60+ provider = actual_provider ,
61+ model = model ,
6162 ** kwargs ,
6263 ),
6364 )
0 commit comments