Ë
    µŒj~  ã                  óÂ   — d Z ddlmZ ddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ  eddd¬«       G d„ de«      «       Zy)z Azure OpenAI embeddings wrapper.é    )ÚannotationsN)ÚAnyÚ	AwaitableÚCallableÚDictÚOptionalÚUnion)Ú
deprecated)Úget_from_dict_or_env)ÚFieldÚmodel_validator)ÚSelf)ÚOpenAIEmbeddings)Úis_openai_v1z0.0.9z1.0z&langchain_openai.AzureOpenAIEmbeddings)ÚsinceÚremovalÚalternative_importc                  ó  — e Zd ZU dZdZded<   	  edd¬«      Zded<   	  edd	¬«      Zded
<   	 dZ	ded<   	 dZ
ded<   	 dZded<   	  edd¬«      Zded<   	 dZded<    ed¬«      edd„«       «       Z ed¬«      dd„«       Zedd„«       Zy)ÚAzureOpenAIEmbeddingsz`Azure OpenAI` Embeddings API.NzUnion[str, None]Úazure_endpointÚazure_deployment)ÚdefaultÚaliaszOptional[str]Ú
deploymentÚapi_keyÚopenai_api_keyÚazure_ad_tokenzUnion[Callable[[], str], None]Úazure_ad_token_providerz)Union[Callable[[], Awaitable[str]], None]Úazure_ad_async_token_providerÚapi_versionÚopenai_api_versionTÚboolÚvalidate_base_urlÚbefore)Úmodec                óR  — |j                  d«      xs, t        j                  d«      xs t        j                  d«      |d<   |j                  d«      xs t        j                  d«      |d<   |j                  d«      xs t        j                  dd¬	«      |d<   t        |d
dd¬	«      |d
<   |j                  d«      xs, t        j                  d«      xs t        j                  d«      |d<   t        |ddd¬	«      |d<   |j                  d«      xs t        j                  d«      |d<   |j                  d«      xs t        j                  d«      |d<   t	        |d   d«      |d<   	 ddl}t        «       r—|d   }|r�|d   r‹d|vr,|dxx   dz  cc<   t        j                  d|› d|d   › d �«       |d!   rVt        j                  d"«       |d!   |d   vr2t        j                  d#|› d|d   › d �«       |dxx   d$|d!   z   z  cc<   d|d!<   |S # t        $ r t        d«      ‚w xY w)%z?Validate that api key and python package exists in environment.r   ÚAZURE_OPENAI_API_KEYÚOPENAI_API_KEYÚopenai_api_baseÚOPENAI_API_BASEr!   ÚOPENAI_API_VERSIONz
2023-05-15)r   Úopenai_api_typeÚOPENAI_API_TYPEÚazureÚopenai_organizationÚOPENAI_ORG_IDÚOPENAI_ORGANIZATIONÚopenai_proxyÚOPENAI_PROXYÚ r   ÚAZURE_OPENAI_ENDPOINTr   ÚAZURE_OPENAI_AD_TOKENÚ
chunk_sizei   r   NzTCould not import openai python package. Please install it with `pip install openai`.r#   z/openaiz¥As of openai>=1.0.0, Azure endpoints should be specified via the `azure_endpoint` param not `openai_api_base` (or alias `base_url`). Updating `openai_api_base` from z to Ú.r   zØAs of openai>=1.0.0, if `deployment` (or alias `azure_deployment`) is specified then `openai_api_base` (or alias `base_url`) should not be. Instead use `deployment` (or alias `azure_deployment`) and `azure_endpoint`.zÈAs of openai>=1.0.0, if `openai_api_base` (or alias `base_url`) is specified it is expected to be of the form https://example-resource.azure.openai.com/openai/deployments/example-deployment. Updating z/deployments/)
ÚgetÚosÚgetenvr   ÚminÚopenaiÚImportErrorr   ÚwarningsÚwarn)ÚclsÚvaluesr=   r)   s       úu/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/embeddings/azure_openai.pyÚvalidate_environmentz*AzureOpenAIEmbeddings.validate_environment@   sŸ  € ð �J‰JÐ'Ó(ò +Ü�y‰yÐ/Ó0ò+ä�y‰yÐ)Ó*ð 	ÐÑ ð
 %+§J¡JÐ/@Ó$Aò %
ÄRÇYÁYØóF
ˆÐ Ñ!ð (.§z¡zÐ2FÓ'Gò (
Ì2Ï9É9Ø ¨,ôL
ˆÐ#Ñ$ô %9ØÐ%Ð'8À'ô%
ˆÐ Ñ!ð �J‰JÐ,Ó-ò 0Ü�y‰y˜Ó)ò0ä�y‰yÐ.Ó/ð 	Ð$Ñ%ô
 "6ØØØØô	"
ˆˆ~Ñð $*§:¡:Ð.>Ó#?ò $
Ä2Ç9Á9Ø#óD
ˆÐÑ ð $*§:¡:Ð.>Ó#?ò $
Ä2Ç9Á9Ø#óD
ˆÐÑ ô  # 6¨,Ñ#7¸Ó>ˆˆ|Ñð	Ûô Œ>ð %Ð%6Ñ7ˆOÙ 6Ð*=Ò#>Ø OÑ3ØÐ,Ó-°Ñ:Ó-Ü—M‘MðRð +Ð+¨4°Ð7HÑ0IÐ/JÈ!ðMôð ˜,Ò'Ü—M‘Mð0ôð ˜lÑ+°6Ð:KÑ3LÑLÜ Ÿ™ð(ð )8Ð'8¸Ø%Ð&7Ñ8Ð9¸ð<ôð Ð0Ó1Ø+¨f°\Ñ.BÑBñÓ1ð ,0�F˜<Ñ(ØˆøôO ò 	Üð?óð ð	ús   Å*H ÈH&Úafterc                ó:  — ddl }t        «       rû| j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  i | j                  xs i ¥ddi¥| j                  | j                  dœ} |j                  di |¤Žj                   | _        | j$                  r| j$                  |d<    |j&                  di |¤Žj                   | _        | S |j*                  | _        | S )z"Validate that the base url is set.r   Nz
User-Agentz"langchain-comm-python-azure-openai)r    r   r   r   r   r   ÚorganizationÚbase_urlÚtimeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_clientr   © )r=   r   r!   r   r   r   r   r   r/   r)   Úrequest_timeoutrJ   rK   rL   rM   ÚAzureOpenAIÚ
embeddingsÚclientr   ÚAsyncAzureOpenAIÚasync_clientÚ	Embedding)Úselfr=   Úclient_paramss      rC   Úpost_init_validatorz)AzureOpenAIEmbeddings.post_init_validator•   s  € ó 	äŒ>à#×6Ñ6Ø"&×"5Ñ"5Ø$(§O¡OØ×.Ñ.Ø"&×"5Ñ"5Ø+/×+GÑ+GØ $× 8Ñ 8Ø ×0Ñ0Ø×/Ñ/Ø#×/Ñ/ð$Ø×+Ñ+Ò1¨rð$à Ð"Fñ$ð "&×!3Ñ!3Ø#×/Ñ/ñ!ˆMð$ -˜&×,Ñ,Ñ=¨}Ñ=×HÑHˆDŒKà×1Ò1à×6Ñ6ð Ð7Ñ8ð !8 × 7Ñ 7Ñ H¸-Ñ H× SÑ SˆDÔð ˆð !×*Ñ*ˆDŒKØˆó    c                 ó   — y)Nzazure-openai-chatrN   )rV   s    rC   Ú	_llm_typezAzureOpenAIEmbeddings._llm_type¹   s   € à"rY   )rB   r   Úreturnr   )r\   r   )r\   Ústr)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r   r   r   r   r!   r#   r   ÚclassmethodrD   rX   Úpropertyr[   rN   rY   rC   r   r      sò   … ñ )à'+€NÐ$Ó+ðñ !&¨dÐ:LÔ M€J�ÓMðñ
 (-°TÀÔ'K€NÐ$ÓKØUØ'+€NÐ$Ó+ðð ?CÐÐ;ÓBðð
 PTÐ!Ð#LÓSðñ ).°dÀ-Ô(PÐ˜ÓPØSØ"Ð�tÓ"á˜(Ô#ØòQó ó $ðQñf ˜'Ô"ò!ó #ð!ðF ò#ó ñ#rY   r   )ra   Ú
__future__r   r:   r?   Útypingr   r   r   r   r   r	   Úlangchain_core._api.deprecationr
   Úlangchain_core.utilsr   Úpydanticr   r   Útyping_extensionsr   Ú%langchain_community.embeddings.openair   Ú langchain_community.utils.openair   r   rN   rY   rC   Ú<module>rm      sV   ðÙ &å "ã 	Û ß B× Bå 6Ý 5ß +Ý "å BÝ 9ñ Ø
ØØ?ôô
d#Ð,ó d#óñ
d#rY   