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
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:
try:
# In a real async environment, these would run in parallel
# 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)
query_embeddings[model_name] = vec
logger.info(f"Generated embedding for model: {model_name}")
except Exception as 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:
msg = "Failed to generate embeddings for any model"
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