
    dhF                        S SK Jr  S SKrS SKJrJrJrJr  S SKJ	r	  S SK
JrJr  S SKJr  \R                  " \5      r " S S\\	5      rg)	    )annotationsN)AnyDictListOptional)
Embeddings)get_from_dict_or_envpre_init)	BaseModelc                      \ rS rSr% SrSrS\S'    SrS\S'    SrS\S	'    S
r	S\S'    Sr
S\S'    SrS\S'    SrS\S'    S\S'    \SS j5       rSS jrSS jrSrg)VolcanoEmbeddings   z)`Volcengine Embeddings` embedding models.NzOptional[str]
volcano_ak
volcano_skz*maas-api.ml-platform-cn-beijing.volces.comstrhostz
cn-beijingregionzbge-large-zhmodelz1.0versiond   int
chunk_sizer   clientc                    [        USS5      US'   [        USS5      US'    SSKJn  U" US   US   5      nUR                  US   5        UR	                  US   5        X1S	'   U$ ! [
         a    [        S
5      ef = f)a  
Validate whether volcano_ak and volcano_sk in the environment variables or
configuration file are available or not.

init volcano embedding client with `ak`, `sk`, `host`, `region`

Args:

    values: a dictionary containing configuration information, must include the
    fields of volcano_ak and volcano_sk
Returns:

    a dictionary containing configuration information. If volcano_ak and
    volcano_sk are not provided in the environment variables or configuration
    file,the original values will be returned; otherwise, values containing
    volcano_ak and volcano_sk will be returned.
Raises:

    ValueError: volcengine package not found, please install it with
    `pip install volcengine`
r   VOLC_ACCESSKEYr   VOLC_SECRETKEYr   )MaasServicer   r   r   zMvolcengine package not found, please install it with `pip install volcengine`)r	   volcengine.maasr   set_akset_skImportError)clsvaluesr   r   s       a/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/embeddings/volcengine.pyvalidate_environment&VolcanoEmbeddings.validate_environment.   s    .  4 
|
  4 
|	3 1ABFMM&./MM&./%8   	+ 	s   AA% %A;c                ,    U R                  U/5      S   $ )Nr   )embed_documents)selftexts     r$   embed_queryVolcanoEmbeddings.embed_query^   s    ##TF+A..    c                   [        S[        U5      U R                  5       Vs/ sH  nXX R                  -    PM     nn/ nU Hg  nU R                  U R                  S.US.n SSKJn  U R                  R                  U5      nUR                  US    V	s/ sH  oS   PM	     sn	5        Mi     U$ s  snf s  sn	f ! W a  n
[        SU
 35      eSn
A
ff = f)	a'  
Embeds a list of text documents using the AutoVOT algorithm.

Args:
    texts (List[str]): A list of text documents to embed.

Returns:
    List[List[float]]: A list of embeddings for each document in the input list.
                    Each embedding is represented as a list of float values.
r   )namer   )r   input)MaasExceptiondata	embeddingzembed by volcengine Error: N)rangelenr   r   r   r   r1   r   
embeddingsextend
ValueError)r)   textsitext_in_chunkslstchunkreqr1   respreses              r$   r(   !VolcanoEmbeddings.embed_documentsa   s     1c%j$//:
: a//)*: 	 
 #E !JJ#|| CD9{{--c2

VE,EF $ 
)
" F  D #>qc!BCCDs/   B/"3B9B4
"B94B99C?CC )r#   r   returnr   )r*   r   rD   zList[float])r9   z	List[str]rD   zList[List[float]])__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r   r   r   r   r   r
   r%   r+   r(   __static_attributes__rC   r-   r$   r   r      s    3 $J$I !%J$I =D#<EFCE  E3
 GSJ2K- -^/r-   r   )
__future__r   loggingtypingr   r   r   r   langchain_core.embeddingsr   langchain_core.utilsr	   r
   pydanticr   	getLoggerrE   loggerr   rC   r-   r$   <module>rT      s:    "  , , 0 ? 			8	$s	: sr-   