fix: embedding handling for query vectors
This commit is contained in:
parent
ceabf4b37f
commit
5b32a0ce12
6 changed files with 22 additions and 5 deletions
|
|
@ -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
Loading…
Add table
Reference in a new issue