
    dhC                    b    S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S	S jr " S S\\
5      rg)
    )annotations)AnyIteratorListOptional)
Embeddings)	BaseModelc              #  V   #    [        S[        U 5      U5       H  nXX!-    v   M     g 7fNr   )rangelen)textssizeis      i/var/www/html/shao/venv/lib/python3.13/site-packages/langchain_community/embeddings/javelin_ai_gateway.py_chunkr   	   s)     1c%j$'!! (s   ')c                     ^  \ rS rSr% SrS\S'    S\S'    SrS\S	'    SrS\S
'    SU 4S jjrSS jr	SS jr
SS jrSS jrSS jrSS jrSrU =r$ )JavelinAIGatewayEmbeddings   a  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                  >  SSK JnJn  [        TU ]  " S0 UD6  U R                  (       a"   U" U R                  U R                  S9U l        g g ! [         a    [        S5      ef = f! U a  n[        S5      UeS nAff = f)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$   #JavelinAIGatewayEmbeddings.__init__+   s    		 	"6"G+!--t7K7K   	D 	 % G !>?QFGs"   A  A( A%(A?.A::A?c                   / n[        US5       H  n U R                  R                  U R                  SU0S9nUR	                  5       nUR                  S0 5      R                  S/ 5      nU H  nSU;   d  M  UR                  US   5        M!     M     U$ ! [         a"  n[        S[        U5      -   5         S nAM  S nAff = f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   _query!JavelinAIGatewayEmbeddings._query@   s    
%$C	:{{..tzzwPSn.U IIK	#,==#D#H#HQS#T ,D"d*"))${*;< - %   :/#a&899:s   A!B8B
C B==Cc                  #    / n[        US5       H  n U R                  R                  U R                  SU0S9I S h  vN nUR	                  5       nUR                  S0 5      R                  S/ 5      nU H  nSU;   d  M  UR                  US   5        M!     M     U$  Na! [         a"  n[        S[        U5      -   5         S nAM  S nAff = f7fr,   )
r   r   aquery_router   r4   r5   r6   r%   r7   r   r8   s	            r   _aquery"JavelinAIGatewayEmbeddings._aqueryP   s     
%$C:![[55JJGS> 6   !IIK	#,==#D#H#HQS#T ,D"d*"))${*;< - %   :/#a&899:sD   C)B"B ?B"B"C B""
C,C	C	CCc                $    U R                  U5      $ Nr?   r&   r   s     r   embed_documents*JavelinAIGatewayEmbeddings.embed_documentsb   s    {{5!!    c                ,    U R                  U/5      S   $ r   rG   )r&   texts     r   embed_query&JavelinAIGatewayEmbeddings.embed_querye   s    {{D6"1%%rK   c                @   #    U R                  U5      I S h  vN $  N7frF   rC   rH   s     r   aembed_documents+JavelinAIGatewayEmbeddings.aembed_documentsh   s     \\%((((s   c                L   #    U R                  U/5      I S h  vN nUS   $  N	7fr   rQ   )r&   rM   results      r   aembed_query'JavelinAIGatewayEmbeddings.aembed_queryk   s'     ||TF++ay ,s   $"
$)r   )r'   r   )r   	List[str]returnzList[List[float]])rM   r   rY   zList[float])__name__
__module____qualname____firstlineno____doc____annotations__r   r   r$   r?   rC   rI   rN   rR   rV   __static_attributes____classcell__)r)   s   @r   r   r      s]      KJ:!%K%1%)O])5G* $"&) rK   r   N)r   rX   r   intrY   zIterator[List[str]])
__future__r   typingr   r   r   r   langchain_core.embeddingsr   pydanticr	   r   r   r    rK   r   <module>rg      s)    " 0 0 0 "
_Y _rK   