
    NgD
                        d Z ddlmZ ddlmZmZ ddlmZmZm	Z	 ddl
mZmZ ddlmZ ddlmZ dZd	Z G d
 de          ZdS )zAnyscale embeddings wrapper.    )annotations)DictOptional)convert_to_secret_strget_from_dict_or_envpre_init)Field	SecretStr)OpenAIEmbeddings)is_openai_v1z%https://api.endpoints.anyscale.com/v1zthenlper/gte-largec                      e Zd ZU dZ ed          Zded<   	  ee          Zded<   	  ee	          Z
ded<   	 d	Zd
ed<   	 dZded<   	 edd            Zedd            Zedd            ZdS )AnyscaleEmbeddingsz`Anyscale` Embeddings API.NdefaultzOptional[SecretStr]anyscale_api_keystrmodelanyscale_api_baseFbooltiktoken_enabledi  intembedding_ctx_lengthreturnDict[str, str]c                
    ddiS )Nr   ANYSCALE_API_KEY selfs    c/var/www/html/ai-engine/env/lib/python3.11/site-packages/langchain_community/embeddings/anyscale.py
lc_secretszAnyscaleEmbeddings.lc_secrets   s      2
 	
    valuesdictc                   t          t          |dd                    |d<   t          |ddt                    |d<   	 ddl}n# t          $ r t	          d          w xY wt                      r9|d                                         |d         d	} |j        di |j        |d
<   n2|d         |d<   |d                                         |d<   |j	        |d
<   |S )z?Validate that api key and python package exists in environment.r   r   r   ANYSCALE_API_BASEr   r   NzTCould not import openai python package. Please install it with `pip install openai`.)api_keybase_urlclientopenai_api_baseopenai_api_keyr   )
r   r   DEFAULT_API_BASEopenaiImportErrorr   get_secret_valueOpenAI
embeddings	Embedding)clsr#   r-   client_paramss       r    validate_environmentz'AnyscaleEmbeddings.validate_environment%   s7    &; "" &
 &
!" ';$	'
 '
 '
"#	MMMM 	 	 	?  	
 >> 
	0 ""45FFHH"#67 M  -v}==}==HF8(./B(CF$%'-.@'A'R'R'T'TF#$%/F8s   A Ac                    dS )Nzanyscale-embeddingr   r   s    r    	_llm_typezAnyscaleEmbeddings._llm_typeJ   s    ##r"   )r   r   )r#   r$   r   r$   )r   r   )__name__
__module____qualname____doc__r	   r   __annotations__DEFAULT_MODELr   r,   r   r   r   propertyr!   r   r5   r7   r   r"   r    r   r      s        $$,1E$,?,?,?????&}---E----"U+;<<<<<<<)"""""P #####8
 
 
 X

 " " " X"H $ $ $ X$ $ $r"   r   N)r;   
__future__r   typingr   r   langchain_core.utilsr   r   r   pydanticr	   r
   %langchain_community.embeddings.openair    langchain_community.utils.openair   r,   r=   r   r   r"   r    <module>rE      s    " " " " " " " " ! ! ! ! ! ! ! ! V V V V V V V V V V % % % % % % % % B B B B B B 9 9 9 9 9 9: $;$ ;$ ;$ ;$ ;$) ;$ ;$ ;$ ;$ ;$r"   