a
    bgD
                     @  sx   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 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                   @  s   e Zd ZU dZeddZded< eedZded< ee	dZ
ded< d	Zd
ed< dZded< eddddZedddddZedd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_lengthzDict[str, str])returnc                 C  s   ddiS )Nr   ANYSCALE_API_KEY selfr   r   u/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/langchain_community/embeddings/anyscale.py
lc_secrets   s    zAnyscaleEmbeddings.lc_secretsdict)valuesr   c                 C  s   t t|dd|d< t|ddtd|d< zddl}W n tyN   tdY n0 t r|d  |d d	}|jf i |j|d
< n&|d |d< |d  |d< |j	|d
< |S )z?Validate that api key and python package exists in environment.r   r   r   ZANYSCALE_API_BASEr   r   NzTCould not import openai python package. Please install it with `pip install openai`.)Zapi_keybase_urlclientZopenai_api_baseZopenai_api_key)
r   r   DEFAULT_API_BASEopenaiImportErrorr   Zget_secret_valueZOpenAIZ
embeddingsZ	Embedding)clsr   r#   Zclient_paramsr   r   r   validate_environment%   s8    



z'AnyscaleEmbeddings.validate_environmentc                 C  s   dS )Nzanyscale-embeddingr   r   r   r   r   	_llm_typeJ   s    zAnyscaleEmbeddings._llm_type)__name__
__module____qualname____doc__r   r   __annotations__DEFAULT_MODELr   r"   r   r   r   propertyr   r   r&   r'   r   r   r   r   r      s   
$r   N)r+   
__future__r   typingr   r   Zlangchain_core.utilsr   r   r   Zpydanticr   r	   Z%langchain_community.embeddings.openair
   Z langchain_community.utils.openair   r"   r-   r   r   r   r   r   <module>   s   