Source code for langchain_community.embeddings.model2vec
"""Wrapper around model2vec embedding models."""fromtypingimportListfromlangchain_core.embeddingsimportEmbeddings
[docs]classModel2vecEmbeddings(Embeddings):"""Model2Vec embedding models. Install model2vec first, run 'pip install -U model2vec'. The github repository for model2vec is : https://github.com/MinishLab/model2vec Example: .. code-block:: python from langchain_community.embeddings import Model2vecEmbeddings embedding = Model2vecEmbeddings("minishlab/potion-base-8M") embedding.embed_documents([ "It's dangerous to go alone!", "It's a secret to everybody.", ]) embedding.embed_query( "Take this with you." ) """
[docs]def__init__(self,model:str):"""Initialize embeddings. Args: model: Model name. """try:frommodel2vecimportStaticModelexceptImportErrorase:raiseImportError("Unable to import model2vec, please install with ""`pip install -U model2vec`.")fromeself._model=StaticModel.from_pretrained(model)
[docs]defembed_documents(self,texts:List[str])->List[List[float]]:"""Embed documents using the model2vec embeddings model. Args: texts: The list of texts to embed. Returns: List of embeddings, one for each text. """returnself._model.encode(texts).tolist()
[docs]defembed_query(self,text:str)->List[float]:"""Embed a query using the model2vec embeddings model. Args: text: The text to embed. Returns: Embeddings for the text. """returnself._model.encode(text).tolist()