
    dh                     n    S SK JrJr  S SKJrJrJr  S SKJrJ	r	  S SK
Jr  S SKJr  SrSr " S S	\5      rg
)    )DictOptional)convert_to_secret_strget_from_dict_or_envpre_init)Field	SecretStr)OpenAIEmbeddings)is_openai_v1zhttps://text.octoai.run/v1/zthenlper/gte-largec                       \ rS rSr% Sr\" SS9r\\   \	S'    \" \
S9r\\	S'    \" \S9r\\	S'    Sr\\	S	'    \S
\4S j5       r\S
\\\4   4S j5       r\S\S
\4S j5       rSrg)OctoAIEmbeddings   a+  OctoAI Compute Service embedding models.

See https://octo.ai/ for information about OctoAI.

To use, you should have the ``openai`` python package installed and the
environment variable ``OCTOAI_API_TOKEN`` set with your API token.
Alternatively, you can use the octoai_api_token keyword argument.
Ndefaultoctoai_api_tokenendpoint_urlmodelFtiktoken_enabledreturnc                     g)z Return type of embeddings model.zoctoai-embeddings selfs    h/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/embeddings/octoai_embeddings.py	_llm_typeOctoAIEmbeddings._llm_type    s     #    c                 
    SS0$ )Nr   OCTOAI_API_TOKENr   r   s    r   
lc_secretsOctoAIEmbeddings.lc_secrets%   s    "$677r   valuesc                 b   [        USS[        S9US'   [        [        USS5      5      US'   [        USS[        S9US'    SS	Kn[        5       (       a  US   R                  5       US   S
.nUR                  S5      (       d  UR                  " S0 UD6R                  US'   UR                  S5      (       d  UR                  " S0 UD6R                  US'   U$ US   US'   US   R                  5       US'   UR                  US'   UR                  US'    U$ ! [         a    [        S5      ef = f)z?Validate that api key and python package exists in environment.r   ENDPOINT_URLr   r   r   r   MODELr   N)api_keybase_urlclientasync_clientopenai_api_baseopenai_api_keyzTCould not import openai python package. Please install it with `pip install openai`.r   )r   DEFAULT_API_BASEr   DEFAULT_MODELopenair   get_secret_valuegetOpenAI
embeddingsAsyncOpenAI	EmbeddingImportError)clsr"   r.   client_paramss       r   validate_environment%OctoAIEmbeddings.validate_environment)   si    "6$	"
~ &; );=OP&
!" /!	
w	~~%&89JJL &~ 6! zz(++'-}}'E}'E'P'PF8$zz.11-3-?-? .'. j >*  -3>,B()+12D+E+V+V+X'(#)#3#3x )/)9)9~&   	? 	s   BD <D D.r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r	   __annotations__r,   r   strr-   r   r   boolpropertyr   r   r    r   dictr8   __static_attributes__r   r   r   r   r      s     -2$,?hy)?$&67L#7)}-E3-"d"P#3 # # 8DcN 8 8 ,$ ,4 , ,r   r   N)typingr   r   langchain_core.utilsr   r   r   pydanticr   r	   %langchain_community.embeddings.openair
    langchain_community.utils.openair   r,   r-   r   r   r   r   <module>rJ      s1    ! V V % B 90 $I' Ir   