Skip to content

Commit 390db08

Browse files
committed
chore: proper exception handling and formatting in get_embedding_dims
1 parent 92cdfa0 commit 390db08

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

  • backends/advanced/src/advanced_omi_backend/memory

backends/advanced/src/advanced_omi_backend/memory/config.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)