in src/psearch/ingestion/main.py [0:0]
def generate_embeddings_batch(self, texts: List[str]) -> List[np.ndarray]:
"""
Generate embeddings for a batch of texts (up to 100)
Args:
texts: List of input texts to generate embeddings for
Returns:
List of embedding vectors
"""
try:
# Use Google's embedding model for batch processing
response = self.embedding_client.models.embed_content(
model=self.model_name,
contents=texts,
config=EmbedContentConfig(
task_type="RETRIEVAL_DOCUMENT",
output_dimensionality=self.dimensions,
),
)
# Extract embeddings from the response
embedding_arrays = []
for embedding in response.embeddings:
embedding_arrays.append(np.array(embedding.values))
return embedding_arrays
except Exception as e:
logging.error(f"Error generating batch embeddings: {str(e)}")
raise