§
    æ˜ºhF  ã                  óÂ   — 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	 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dS )z Azure OpenAI embeddings wrapper.é    )ÚannotationsN)ÚCallableÚDictÚOptionalÚUnion)Ú
deprecated)ÚFieldÚroot_validator)Úget_from_dict_or_env)ÚOpenAIEmbeddings)Úis_openai_v1z0.1.0z0.2.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<   	  edd¬¦  «        Zded<   	 dZded<    e¦   «         dd„¦   «         Zedd„¦   «         ZdS )Ú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_providerÚapi_versionÚopenai_api_versionTÚboolÚvalidate_base_urlÚvaluesr   Úreturnc                óF  — |d         p't          j        d¦  «        pt          j        d¦  «        |d<   |d         pt          j        d¦  «        |d<   |d         pt          j        dd¬	¦  «        |d<   t          |d
dd¬	¦  «        |d
<   |d         p't          j        d¦  «        pt          j        d¦  «        |d<   t          |ddd¬	¦  «        |d<   |d         pt          j        d¦  «        |d<   |d         pt          j        d¦  «        |d<   t          |d         d¦  «        |d<   	 ddl}n# t
          $ r t          d¦  «        ‚w xY wt          ¦   «         �r;|d         }|r¨|d         r d|vr1|dxx         dz  cc<   t          j        d|› d|d         › d �¦  «         |d!         rct          j        d"¦  «         |d!         |d         vr:t          j        d#|› d|d         › d �¦  «         |dxx         d$|d!         z   z  cc<   d|d!<   |d         |d         |d!         |d         |d         |d%         |d         |d         |d&         |d'         |d(         |d)         |d*         d+œ} |j	        d.i |¤Žj
        |d,<    |j        d.i |¤Žj
        |d-<   n
|j        |d,<   |S )/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_sizeé   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/r   Úrequest_timeoutÚmax_retriesÚdefault_headersÚdefault_queryÚhttp_client)r   r   r   r   r   r   ÚorganizationÚbase_urlÚtimeoutr7   r8   r9   r:   ÚclientÚasync_client© )ÚosÚgetenvr   ÚminÚopenaiÚImportErrorr   ÚwarningsÚwarnÚAzureOpenAIÚ
embeddingsÚAsyncAzureOpenAIÚ	Embedding)Úclsr    rD   r%   Úclient_paramss        ús/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/langchain_community/embeddings/azure_openai.pyÚvalidate_environmentz*AzureOpenAIEmbeddings.validate_environment8   s  € ð Ð#Ô$ð +ÝŒyÐ/Ñ0Ô0ð+åŒyÐ)Ñ*Ô*ð 	ÐÑ ð
 %+Ð+<Ô$=ð %
ÅÄØñB
ô B
ˆÐ Ñ!ð (.Ð.BÔ'Cð (
ÅrÄyØ ¨,ðH
ñ H
ô H
ˆÐ#Ñ$õ %9ØÐ%Ð'8À'ð%
ñ %
ô %
ˆÐ Ñ!ð Ð(Ô)ð 0ÝŒy˜Ñ)Ô)ð0åŒyÐ.Ñ/Ô/ð 	Ð$Ñ%õ
 "6ØØØØð	"
ñ "
ô "
ˆˆ~Ñð $*Ð*:Ô#;ð $
½r¼yØ#ñ@
ô @
ˆÐÑ ð $*Ð*:Ô#;ð $
½r¼yØ#ñ@
ô @
ˆÐÑ õ  # 6¨,Ô#7¸Ñ<Ô<ˆˆ|Ñð	ØˆMˆMˆMˆMøåð 	ð 	ð 	Ýð?ñô ð ð	øøøõ
 ‰>Œ>ñ 4	0ð %Ð%6Ô7ˆOØð 0 6Ð*=Ô#>ð 0Ø OÐ3Ð3ØÐ,Ð-Ð-Ô-°Ñ:Ð-Ð-Ñ-Ý”MðMð +ðMð Mð 17Ð7HÔ0IðMð Mð Mñô ð ð ˜,Ô'ð 0Ý”Mð0ñô ð ð ˜lÔ+°6Ð:KÔ3LÐLÐLÝ œð<ð )8ð	<ð <ð
  &Ð&7Ô8ð<ð <ð <ñô ð ð Ð0Ð1Ð1Ô1Ø+¨f°\Ô.BÑBñÐ1Ð1Ñ1ð ,0�F˜<Ñ(à%Ð&:Ô;Ø"(Ð)9Ô":Ø$*¨<Ô$8Ø!Ð"2Ô3Ø"(Ð)9Ô":Ø+1Ð2KÔ+LØ &Ð'<Ô =Ø"Ð#4Ô5Ø!Ð"3Ô4Ø% mÔ4Ø#)Ð*;Ô#<Ø!'¨Ô!8Ø% mÔ4ðð ˆMð  2˜vÔ1ÐBÐB°MÐBÐBÔMˆF�8ÑØ%< VÔ%<Ð%MÐ%M¸}Ð%MÐ%MÔ%XˆF�>Ñ"Ð"à%Ô/ˆF�8ÑØˆs   Ä+D0 Ä0E
Ústrc                ó   — dS )Nzazure-openai-chatr@   )Úselfs    rN   Ú	_llm_typezAzureOpenAIEmbeddings._llm_type    s   € à"Ð"ó    )r    r   r!   r   )r!   rP   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r	   r   r   r   r   r   r   r
   rO   ÚpropertyrS   r@   rT   rN   r   r      s5  € € € € € € ð )Ð(à'+€NÐ+Ð+Ð+Ñ+ðð !& ¨dÐ:LÐ MÑ MÔ M€JÐMÐMÐMÑMðð
 (- u°TÀÐ'KÑ'KÔ'K€NÐKÐKÐKÑKØUØ'+€NÐ+Ð+Ð+Ñ+ðð ?CÐÐBÐBÐBÑBðð ).¨°dÀ-Ð(PÑ(PÔ(PÐÐPÐPÐPÑPØSØ"ÐÐ"Ð"Ð"Ñ"à€^ÑÔðeð eð eñ ÔðeðN ð#ð #ð #ñ „Xð#ð #ð #rT   r   )rX   Ú
__future__r   rA   rF   Útypingr   r   r   r   Úlangchain_core._api.deprecationr   Úlangchain_core.pydantic_v1r	   r
   Úlangchain_core.utilsr   Ú%langchain_community.embeddings.openair   Ú langchain_community.utils.openair   r   r@   rT   rN   ú<module>rb      s  ðØ &Ð &Ø "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	Ø €€€Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5à BÐ BÐ BÐ BÐ BÐ BØ 9Ð 9Ð 9Ð 9Ð 9Ð 9ð €Ø
ØØ?ðñ ô ð
M#ð M#ð M#ð M#ð M#Ð,ñ M#ô M#ñô ð
M#ð M#ð M#rT   