from langchain.embeddings.huggingface import HuggingFaceEmbeddings from typing import Any, List class MyEmbeddings(HuggingFaceEmbeddings): def __init__(self, **kwargs: Any): super().__init__(**kwargs) def embed_documents(self, texts: List[str]) -> List[List[float]]: """Compute doc embeddings using a HuggingFace transformer model. Args: texts: The list of texts to embed. Returns: List of embeddings, one for each text. """ texts = list(map(lambda x: x.replace("\n", " "), texts)) embeddings = self.client.encode(texts, normalize_embeddings=True) return embeddings.tolist() def embed_query(self, text: str) -> List[float]: """Compute query embeddings using a HuggingFace transformer model. Args: text: The text to embed. Returns: Embeddings for the text. """ text = text.replace("\n", " ") embedding = self.client.encode(text, normalize_embeddings=True) return embedding.tolist()