def generate_embeddings_batch()

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