@@ -247,10 +247,13 @@ def get_embedding_dims(llm_config: Dict[str, Any]) -> int:
247247 Query the embedding endpoint and return the embedding vector length.
248248 Works for OpenAI and OpenAI-compatible endpoints (e.g., Ollama).
249249 """
250- embedding_model = llm_config [ 'embedding_model' ]
250+ embedding_model = llm_config . get ( 'embedding_model' )
251251 try :
252252 import langfuse .openai as openai
253- client = openai .OpenAI (api_key = llm_config .get ('api_key' ), base_url = llm_config ['base_url' ])
253+ client = openai .OpenAI (
254+ api_key = llm_config .get ('api_key' ),
255+ base_url = llm_config .get ('base_url' )
256+ )
254257 response = client .embeddings .create (
255258 model = embedding_model ,
256259 input = "hello world"
@@ -260,9 +263,9 @@ def get_embedding_dims(llm_config: Dict[str, Any]) -> int:
260263 return 1536
261264 return len (embedding )
262265
263- except Exception as e :
266+ except ( ImportError , KeyError , AttributeError , IndexError , TypeError , ValueError ) as e :
264267 embedding_dims = 1536 # default
265- memory_logger .error (f"Failed to get embedding dimensions: { e } " )
268+ memory_logger .exception (f"Failed to get embedding dimensions for model ' { embedding_model } ' " )
266269 if embedding_model == "text-embedding-3-small" :
267270 embedding_dims = 1536
268271 elif embedding_model == "text-embedding-3-large" :
@@ -273,6 +276,5 @@ def get_embedding_dims(llm_config: Dict[str, Any]) -> int:
273276 embedding_dims = 768
274277 else :
275278 # Default for OpenAI embedding models
276- memory_logger .info (f"Embedding model is unrecognized setting default value { e } " )
277- embedding_dims = 1536
279+ memory_logger .info (f"Unrecognized embedding model '{ embedding_model } ', using default dimension { embedding_dims } " )
278280 return embedding_dims
0 commit comments