Ë
    uPêji  ã                   ó~   — d Z ddlmZmZ ddlZddlmZ ddlmZm	Z	 ddl
mZ ddlmZmZ ded	efd
„Z G d„ de«      Zy)zY
Re rank api

LiteLLM supports the re rank API format, no paramter transformation occurs
é    )ÚAnyÚFinalN)ÚBaseLLM)Ú_get_httpx_clientÚget_async_httpx_client)ÚTogetherAIRerankConfig)ÚRerankRequestÚRerankResponseÚapi_baseÚreturnc                 ó*   — | j                  d«      › d�S )Nú/z/rerank)Úrstrip)r   s    úl/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/together_ai/rerank/handler.pyÚ_rerank_urlr      s   € Ø�o‰o˜cÓ"Ð# 7Ð+Ð+ó    c                   ó¨   — e Zd Z	 	 	 	 	 ddededededeeeeef   z     dedz  dee   dz  d	edz  d
edz  dedz  de	fd„Z
deeef   dedede	fd„Zy)ÚTogetherAIRerankNÚmodelÚapi_keyr   ÚqueryÚ	documentsÚtop_nÚrank_fieldsÚreturn_documentsÚmax_chunks_per_docÚ	_is_asyncr   c                 ó‚  — t        «       }t        ||||||¬«      }|j                  d¬«      }|	�t        d«      ‚|
r| j	                  |||«      S |j                  t        |«      ddd|› �dœ|¬«      }|j                  d	k7  rt        |j                  «      ‚|j                  «       }t        «       j                  |«      S )
N)r   r   r   r   r   r   T)Úexclude_nonez.TogetherAI does not support max_chunks_per_docúapplication/jsonúBearer ©Úacceptzcontent-typeÚauthorization©ÚheadersÚjsonéÈ   )r   r	   ÚdictÚ
ValueErrorÚasync_rerankÚpostr   Ústatus_codeÚ	ExceptionÚtextr'   r   Ú_transform_response)Úselfr   r   r   r   r   r   r   r   r   r   ÚclientÚrequest_dataÚrequest_data_dictÚresponseÚ_json_responses                   r   ÚrerankzTogetherAIRerank.rerank   sÜ   € ô *Ó+ˆä+ØØØØØ#Ø-ô
ˆð $0×#4Ñ#4À$Ð#4Ó#GÐØÐ)ÜÐMÓNÐNáØ×$Ñ$Ð%6¸ÀÓJÐJà Ÿ+™+Ü˜Ó!à,Ø 2Ø#*¨7¨)Ð!4ñð
 #ð &ó 
ˆð ×Ñ 3Ò&Ü˜HŸM™MÓ*Ð*à (§¡£ˆä%Ó'×;Ñ;¸NÓKÐKr   r4   c              ƒ   óH  K  — t        t        j                  j                  ¬«      }|j	                  t        |«      ddd|› �dœ|¬«      ƒ d {  –—† }|j                  dk7  rt        |j                  «      ‚|j                  «       }t        «       j                  |«      S 7 ŒQ­w)N)Úllm_providerr    r!   r"   r%   r(   )r   ÚlitellmÚLlmProvidersÚTOGETHER_AIr,   r   r-   r.   r/   r'   r   r0   )r1   r4   r   r   r2   r5   r6   s          r   r+   zTogetherAIRerank.async_rerankI   s›   è ø€ ô /¼G×<PÑ<P×<\Ñ<\Ô]ˆà &§¡Ü˜Ó!à,Ø 2Ø#*¨7¨)Ð!4ñð
 #ð !,ó !
÷ 
ˆð ×Ñ 3Ò&Ü˜HŸM™MÓ*Ð*à (§¡£ˆä%Ó'×;Ñ;¸NÓKÐKð
ús   ‚AB"ÁB ÁAB")NNTNF)Ú__name__Ú
__module__Ú__qualname__ÚstrÚlistr)   r   ÚintÚboolr
   r7   r+   © r   r   r   r      sô   „ ð !Ø(,Ø(,Ø)-Ø!&ñ/Làð/Lð ð/Lð ð	/Lð
 ð/Lð ˜˜d 3¨ 8™nÑ,Ñ-ð/Lð �T‰zð/Lð ˜#‘Y Ñ%ð/Lð  ™+ð/Lð   $™Jð/Lð ˜$‘;ð/Lð 
ó/LðbLà  S ™>ðLð ðLð ð	Lð
 
ôLr   r   )Ú__doc__Útypingr   r   r:   Úlitellm.llms.baser   Ú&litellm.llms.custom_httpx.http_handlerr   r   Ú.litellm.llms.together_ai.rerank.transformationr   Úlitellm.types.rerankr	   r
   r@   r   r   rD   r   r   ú<module>rK      sF   ðñ÷ ã Ý %÷õ Rß >ð,˜#ð , #ó ,ôIL�wõ ILr   