
    ^h
                     z    S r SSKJrJrJrJrJr  SSKrSSKJ	r	  SSK
JrJr  SSKJr  SSKJrJr   " S S	\	5      rg)
zY
Re rank api

LiteLLM supports the re rank API format, no paramter transformation occurs
    )AnyDictListOptionalUnionN)BaseLLM)_get_httpx_clientget_async_httpx_client)JinaAIRerankConfig)RerankRequestRerankResponsec                       \ rS rSr     SS\S\S\S\\\\\\4   4      S\	\
   S\	\\      S	\	\   S
\	\
   S\	\   S\4S jjrS\\\4   S\S\4S jrSrg)JinaAIRerank   Nmodelapi_keyquery	documentstop_nrank_fieldsreturn_documentsmax_chunks_per_doc	_is_asyncreturnc
           	      L   [        5       n
[        UUUUUUS9nUR                  SS9nU	(       a  U R                  X5      $ U
R	                  SSSSU 3S.US9nUR
                  S	:w  a  [        UR                  5      eUR                  5       n[        5       R                  U5      $ )
N)r   r   r   r   r   r   T)exclude_nonehttps://api.jina.ai/v1/rerankapplication/jsonBearer acceptzcontent-typeauthorizationheadersjson   )r	   r   dictasync_rerankpoststatus_code	Exceptiontextr%   r   _transform_response)selfr   r   r   r   r   r   r   r   r   clientrequest_datarequest_data_dictresponse_json_responses                  ]/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/jina_ai/rerank/handler.pyrerankJinaAIRerank.rerank   s     #$$#-
 )--4-@$$%6@@;;+, 2#*7)!4
 #  
 3&HMM**!!#77GG    r1   c                 ,  #    [        [        R                  R                  S9nUR	                  SSSSU 3S.US9I S h  vN nUR
                  S:w  a  [        UR                  5      eUR                  5       n[        5       R                  U5      $  NR7f)N)llm_providerr   r   r   r    r#   r&   )r
   litellmLlmProvidersJINA_AIr)   r*   r+   r,   r%   r   r-   )r.   r1   r   r/   r2   r3   s         r4   r(   JinaAIRerank.async_rerankB   s     
 ( --55
  +, 2#*7)!4
 # % 
 
 3&HMM**!!#77GG
s   =BB AB )NNTNF)__name__
__module____qualname____firstlineno__strr   r   r   r   r   intboolr   r5   r(   __static_attributes__r>   r7   r4   r   r      s      $+/+/,0$),H,H ,H 	,H
 c4S>123,H },H d3i(,H #4.,H %SM,H D>,H 
,H\HS>H H 
	H4 	r7   r   )__doc__typingr   r   r   r   r   r:   litellm.llms.baser   &litellm.llms.custom_httpx.http_handlerr	   r
   *litellm.llms.jina_ai.rerank.transformationr   litellm.types.rerankr   r   r   r>   r7   r4   <module>rM      s4    4 3  % J >I	7 I	r7   