Ë
    µŒjC  ã                  ó`   — d dl mZ d dlmZmZmZmZ d dlmZ d dl	m
Z
 d	d„Z G d„ dee
«      Zy)
é    )Úannotations)ÚAnyÚIteratorÚListÚOptional)Ú
Embeddings)Ú	BaseModelc              #  óV   K  — t        dt        | «      |«      D ]  }| |||z    –— Œ y ­w©Nr   )ÚrangeÚlen)ÚtextsÚsizeÚis      ú{/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/embeddings/javelin_ai_gateway.pyÚ_chunkr   	   s.   è ø€ Ü�1”c˜%“j $Ö'ˆØ�A˜˜D™Ð!Ó!ñ (ùs   ‚')c                  óŽ   ‡ — e Zd ZU dZded<   	 ded<   	 dZded<   	 dZded	<   	 dˆ fd
„Zdd„Zdd„Z	dd„Z
dd„Zdd„Zdd„Zˆ xZS )ÚJavelinAIGatewayEmbeddingsaã  Javelin AI Gateway embeddings.

    To use, you should have the ``javelin_sdk`` python package installed.
    For more information, see https://docs.getjavelin.io

    Example:
        .. code-block:: python

            from langchain_community.embeddings import JavelinAIGatewayEmbeddings

            embeddings = JavelinAIGatewayEmbeddings(
                gateway_uri="<javelin-ai-gateway-uri>",
                route="<your-javelin-gateway-embeddings-route>"
            )
    r   ÚclientÚstrÚrouteNzOptional[str]Úgateway_uriÚjavelin_api_keyc                óú   •— 	 ddl m}m} t	        ‰| �  di |¤Ž | j                  r%	  || j                  | j                  ¬«      | _        y y # t        $ r t        d«      ‚w xY w# |$ r}t        d«      |‚d }~ww xY w)Nr   )ÚJavelinClientÚUnauthorizedErrorz^Could not import javelin_sdk python package. Please install it with `pip install javelin_sdk`.)Úbase_urlÚapi_keyzJavelin: Incorrect API Key.© )
Újavelin_sdkr   r   ÚImportErrorÚsuperÚ__init__r   r   r   Ú
ValueError)ÚselfÚkwargsr   r   ÚeÚ	__class__s        €r   r#   z#JavelinAIGatewayEmbeddings.__init__+   s•   ø€ ð		÷ô 	‰ÑÑ"˜6Ò"Ø×ÒðGÙ+Ø!×-Ñ-°t×7KÑ7Kô�•ð øô ò 	ÜðDóð ð	ûð %ò GÜ Ð!>Ó?ÀQÐFûðGús"   ƒA §#A$ ÁA!Á$A:Á)A5Á5A:c                ó~  — g }t        |d«      D ]~  }	 | j                  j                  | j                  d|i¬«      }|j	                  «       }|j                  di «      j                  dg «      }|D ]  }d|v sŒ|j                  |d   «       Œ Œ€ |S # t        $ r!}t        dt        |«      z   «       Y d }~Œ¨d }~ww xY w©Né   Úinput)Ú
query_bodyÚllm_responseÚdataÚ	embeddingzFailed to query route: )
r   r   Úquery_router   ÚdictÚgetÚappendr$   Úprintr   ©	r%   r   Ú
embeddingsÚtxtÚrespÚ	resp_dictÚembeddings_chunkÚitemr'   s	            r   Ú_queryz!JavelinAIGatewayEmbeddings._query@   s½   € Øˆ
Ü˜% Ö$ˆCð	:Ø—{‘{×.Ñ.¨t¯z©zÀwÐPSÀnÐ.ÓU�Ø ŸI™I›K�	à#,§=¡=°ÀÓ#D×#HÑ#HÈÐQSÓ#TÐ Û,�DØ" dÒ*Ø"×)Ñ)¨$¨{Ñ*;Õ<ñ -ð %ð Ðøô ò :ÜÐ/´#°a³&Ñ8×9Ñ9ûð:ús   “A$BÁ8BÂ	B<ÂB7Â7B<c              ƒ  óš  K  — g }t        |d«      D ]†  }	 | j                  j                  | j                  d|i¬«      ƒ d {  –—† }|j	                  «       }|j                  di «      j                  dg «      }|D ]  }d|v sŒ|j                  |d   «       Œ Œˆ |S 7 ŒZ# t        $ r!}t        dt        |«      z   «       Y d }~Œ²d }~ww xY w­wr*   )
r   r   Úaquery_router   r2   r3   r4   r$   r5   r   r6   s	            r   Ú_aqueryz"JavelinAIGatewayEmbeddings._aqueryP   sÐ   è ø€ Øˆ
Ü˜% Ö$ˆCð:Ø!Ÿ[™[×5Ñ5Ø—J‘J¨G°S¨>ð 6ó ÷ �ð !ŸI™I›K�	à#,§=¡=°ÀÓ#D×#HÑ#HÈÐQSÓ#TÐ Û,�DØ" dÒ*Ø"×)Ñ)¨$¨{Ñ*;Õ<ñ -ð %ð Ððùô ò :ÜÐ/´#°a³&Ñ8×9Ñ9ûð:üsF   ‚C•,BÁBÁ?BÂBÂCÂBÂ	CÂ'CÂ>CÃCÃCc                ó$   — | j                  |«      S ©N©r=   ©r%   r   s     r   Úembed_documentsz*JavelinAIGatewayEmbeddings.embed_documentsb   s   € Ø�{‰{˜5Ó!Ð!ó    c                ó,   — | j                  |g«      d   S r   rC   )r%   Útexts     r   Úembed_queryz&JavelinAIGatewayEmbeddings.embed_querye   s   € Ø�{‰{˜D˜6Ó" 1Ñ%Ð%rF   c              ƒ  ó@   K  — | j                  |«      ƒ d {  –—† S 7 Œ­wrB   ©r@   rD   s     r   Úaembed_documentsz+JavelinAIGatewayEmbeddings.aembed_documentsh   s   è ø€ Ø—\‘\ %Ó(×(Ð(Ð(ús   ‚—˜c              ƒ  óL   K  — | j                  |g«      ƒ d {  –—† }|d   S 7 Œ	­wr   rK   )r%   rH   Úresults      r   Úaembed_queryz'JavelinAIGatewayEmbeddings.aembed_queryk   s(   è ø€ Ø—|‘| T FÓ+×+ˆØ�a‰yÐð ,ús   ‚$˜"™
$)r&   r   )r   ú	List[str]ÚreturnzList[List[float]])rH   r   rQ   zList[float])Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r#   r=   r@   rE   rI   rL   rO   Ú__classcell__)r(   s   @r   r   r      sX   ø… ñð  ƒKØàƒJØ:à!%€K�Ó%Ø1à%)€O�]Ó)Ø5õGó*ó ó$"ó&ó)÷rF   r   N)r   rP   r   ÚintrQ   zIterator[List[str]])Ú
__future__r   Útypingr   r   r   r   Úlangchain_core.embeddingsr   Úpydanticr	   r   r   r   rF   r   Ú<module>r]      s)   ðÝ "ç 0Ó 0å 0Ý ó"ô
_ ¨Yõ _rF   