
    dh                     \    S SK JrJrJr  S SKJr  S SKJrJr  S SK	J
r
Jr   " S S\
\5      rg)    )AnyDictList)
Embeddings)get_from_dict_or_envpre_init)	BaseModel
ConfigDictc            	          ^  \ rS rSr% Sr\\S'   \\S'   \\S'   \	" SS9r
  SS\S\S\S	S
4U 4S jjjr\S\S	\4S j5       rS\\   S	\\\      4S jrS\S	\\   4S jrSrU =r$ )NLPCloudEmbeddings   zNLP Cloud embedding models.

To use, you should have the nlpcloud python package installed

Example:
    .. code-block:: python

        from langchain_community.embeddings import NLPCloudEmbeddings

        embeddings = NLPCloudEmbeddings()

model_namegpuclient )protected_namespaceskwargsreturnNc                 *   > [         TU ]  " SXS.UD6  g )N)r   r   r   )super__init__)selfr   r   r   	__class__s       _/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/embeddings/nlpcloud.pyr   NLPCloudEmbeddings.__init__   s     	BJB6B    valuesc                     [        USS5      n SSKnUR                  US   X!S   SS9US	'   U$ ! [         a    [        S
5      ef = f)z?Validate that api key and python package exists in environment.nlpcloud_api_keyNLPCLOUD_API_KEYr   Nr   r   en)r   langr   zXCould not import nlpcloud python package. Please install it with `pip install nlpcloud`.)r   nlpcloudClientImportError)clsr   r   r#   s       r   validate_environment'NLPCloudEmbeddings.validate_environment#   su     0&(:

	'|$&65MPT  /  F8   	A 	s	   / Atextsc                 >    U R                   R                  U5      S   $ )zEmbed a list of documents using NLP Cloud.

Args:
    texts: The list of texts to embed.

Returns:
    List of embeddings, one for each text.

embeddingsr   r+   )r   r)   s     r   embed_documents"NLPCloudEmbeddings.embed_documents6   s     {{%%e,\::r   textc                 F    U R                   R                  U/5      S   S   $ )zjEmbed a query using NLP Cloud.

Args:
    text: The text to embed.

Returns:
    Embeddings for the text.
r+   r   r,   )r   r/   s     r   embed_queryNLPCloudEmbeddings.embed_queryB   s%     {{%%tf-l;A>>r   )z%paraphrase-multilingual-mpnet-base-v2F)__name__
__module____qualname____firstlineno____doc__str__annotations__boolr   r
   model_configr   r   r   r'   r   floatr-   r1   __static_attributes____classcell__)r   s   @r   r   r      s    
 O	IK26L BCC C 	C
 
C C $ 4  $
;T#Y 
;4U3D 
;	? 	?U 	? 	?r   r   N)typingr   r   r   langchain_core.embeddingsr   langchain_core.utilsr   r   pydanticr	   r
   r   r   r   r   <module>rC      s$    " " 0 ? *C?J C?r   