
    dh3                     6    S r SSKJr  SSKJr   " S S\5      rg)z*Wrapper around model2vec embedding models.    )List)
Embeddingsc                   b    \ rS rSrSrS\4S jrS\\   S\\\      4S jr	S\S\\   4S	 jr
S
rg)Model2vecEmbeddings   a(  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."
        )
modelc                 z     SSK Jn  UR                  U5      U l        g! [         a  n[        S5      UeSnAff = f)z5Initialize embeddings.

Args:
    model: Model name.
r   )StaticModelzKUnable to import model2vec, please install with `pip install -U model2vec`.N)	model2vecr
   ImportErrorfrom_pretrained_model)selfr   r
   es       `/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/embeddings/model2vec.py__init__Model2vecEmbeddings.__init__   sG    	- "11%8  	. 	s    
:5:textsreturnc                 T    U R                   R                  U5      R                  5       $ )zEmbed documents using the model2vec embeddings model.

Args:
    texts: The list of texts to embed.

Returns:
    List of embeddings, one for each text.
r   encodetolist)r   r   s     r   embed_documents#Model2vecEmbeddings.embed_documents,   s"     {{!!%(//11    textc                 T    U R                   R                  U5      R                  5       $ )zEmbed a query using the model2vec embeddings model.

Args:
    text: The text to embed.

Returns:
    Embeddings for the text.
r   )r   r   s     r   embed_queryModel2vecEmbeddings.embed_query8   s"     {{!!$'..00r   )r   N)__name__
__module____qualname____firstlineno____doc__strr   r   floatr   r   __static_attributes__ r   r   r   r      sJ    (9c 9
2T#Y 
24U3D 
2
1 
1U 
1r   r   N)r%   typingr   langchain_core.embeddingsr   r   r)   r   r   <module>r,      s    0  0:1* :1r   