fix: embedding handling for query vectors

This commit is contained in:
phact 2025-10-13 10:51:50 -04:00
parent ceabf4b37f
commit 5b32a0ce12
6 changed files with 22 additions and 5 deletions

View file

@ -1002,16 +1002,33 @@ class OpenSearchVectorStoreComponent(LCVectorStoreComponent):
# But we log the intent for parallel processing # But we log the intent for parallel processing
logger.info(f"Generating embeddings for {len(available_models)} models") logger.info(f"Generating embeddings for {len(available_models)} models")
original_model_attr = getattr(self.embedding, "model", None)
original_deployment_attr = getattr(self.embedding, "deployment", None)
original_dimensions_attr = getattr(self.embedding, "dimensions", None)
for model_name in available_models: for model_name in available_models:
try: try:
# In a real async environment, these would run in parallel # In a real async environment, these would run in parallel
# For now, they run sequentially # For now, they run sequentially
if hasattr(self.embedding, "model"):
setattr(self.embedding, "model", model_name)
if hasattr(self.embedding, "deployment"):
setattr(self.embedding, "deployment", model_name)
if hasattr(self.embedding, "dimensions"):
setattr(self.embedding, "dimensions", None)
vec = self.embedding.embed_query(q) vec = self.embedding.embed_query(q)
query_embeddings[model_name] = vec query_embeddings[model_name] = vec
logger.info(f"Generated embedding for model: {model_name}") logger.info(f"Generated embedding for model: {model_name}")
except Exception as e: except Exception as e:
logger.error(f"Failed to generate embedding for {model_name}: {e}") logger.error(f"Failed to generate embedding for {model_name}: {e}")
if hasattr(self.embedding, "model"):
setattr(self.embedding, "model", original_model_attr)
if hasattr(self.embedding, "deployment"):
setattr(self.embedding, "deployment", original_deployment_attr)
if hasattr(self.embedding, "dimensions"):
setattr(self.embedding, "dimensions", original_dimensions_attr)
if not query_embeddings: if not query_embeddings:
msg = "Failed to generate embeddings for any model" msg = "Failed to generate embeddings for any model"
raise ValueError(msg) raise ValueError(msg)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long