Ontology fix

This commit is contained in:
Cyber MacGeddon 2025-11-12 16:56:23 +00:00
parent 4fb602242d
commit 92647cf088

View file

@ -153,9 +153,13 @@ class OntologyEmbedder:
# Get embeddings for batch # Get embeddings for batch
texts = [elem['text'] for elem in batch] texts = [elem['text'] for elem in batch]
try: try:
# Call embedding service for each text (EmbeddingsClient.embed() is single-text) # Call embedding service for each text
# Note: embed() returns 2D array [[vector]], so extract first element
embedding_tasks = [self.embedding_service.embed(text) for text in texts] embedding_tasks = [self.embedding_service.embed(text) for text in texts]
embeddings_list = await asyncio.gather(*embedding_tasks) embeddings_responses = await asyncio.gather(*embedding_tasks)
# Extract vectors from responses (each is [[vector]])
embeddings_list = [resp[0] for resp in embeddings_responses]
# Convert to numpy array # Convert to numpy array
embeddings = np.array(embeddings_list) embeddings = np.array(embeddings_list)
@ -211,8 +215,9 @@ class OntologyEmbedder:
return None return None
try: try:
embedding = await self.embedding_service.embed(text) # embed() returns 2D array [[vector]], extract first element
return embedding embedding_response = await self.embedding_service.embed(text)
return np.array(embedding_response[0])
except Exception as e: except Exception as e:
logger.error(f"Failed to embed text: {e}") logger.error(f"Failed to embed text: {e}")
return None return None
@ -231,9 +236,11 @@ class OntologyEmbedder:
return None return None
try: try:
# EmbeddingsClient.embed() is single-text, so call in parallel # Call embed() for each text (returns [[vector]] per call)
embedding_tasks = [self.embedding_service.embed(text) for text in texts] embedding_tasks = [self.embedding_service.embed(text) for text in texts]
embeddings_list = await asyncio.gather(*embedding_tasks) embeddings_responses = await asyncio.gather(*embedding_tasks)
# Extract first vector from each response
embeddings_list = [resp[0] for resp in embeddings_responses]
return np.array(embeddings_list) return np.array(embeddings_list)
except Exception as e: except Exception as e:
logger.error(f"Failed to embed texts: {e}") logger.error(f"Failed to embed texts: {e}")