Ë
    uPêjÐ  ã                   óT   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ  G d„ d«      Zy)zž
Transformation logic from Cohere's /v1/rerank format to Together AI's  `/v1/rerank` format.

Why separate file? Make it easy to see how transformation works
é    )ÚFinal)Úuuid)ÚRerankBilledUnitsÚRerankResponseÚRerankResponseDocumentÚRerankResponseMetaÚRerankResponseResultÚRerankTokensc                   ó   — e Zd Zdedefd„Zy)ÚTogetherAIRerankConfigÚresponseÚreturnc           	      óŠ  ‡
— t        di |j                  di «      ¤Ž}t        di |j                  di «      ¤Ž}t        ||¬«      }|j                  d«      }|€t	        d|› �«      ‚g }|D ]œ  Š
t        ˆ
fd„dD «       «      st	        d‰
› �«      ‚‰
j                  di «      }|r%t        t        |j                  d	d
«      «      ¬«      nd }t        t        ‰
d   «      t        ‰
d   «      ¬«      }	|r||	d<   |j                  |	«       Œž t        |j                  d«      xs t        t        j                  «       «      ||¬«      S )NÚusage)Úbilled_unitsÚtokensÚresultsz!No results found in the response=c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w)N© )Ú.0ÚkeyÚresults     €ús/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/together_ai/rerank/transformation.pyú	<genexpr>z=TogetherAIRerankConfig._transform_response.<locals>.<genexpr>#   s   øè ø€ ÒM¨�s˜f”}ÑMùs   ƒ)ÚindexÚrelevance_scorez&Missing required fields in the result=ÚdocumentÚtextÚ )r   r   r   Úid)r    r   Úmetar   )r   Úgetr
   r   Ú
ValueErrorÚallr   Ústrr	   ÚintÚfloatÚappendr   r   Úuuid4)Úselfr   Ú_billed_unitsÚ_tokensÚrerank_metaÚ_resultsÚrerank_resultsÚdocument_datar   Úrerank_resultr   s             @r   Ú_transform_responsez*TogetherAIRerankConfig._transform_response   sF  ø€ Ü0ÑM°8·<±<ÀÈÓ3LÑMˆÜ%ÑB¨¯©°W¸bÓ(AÑBˆÜ/¸]ÐSZÔ[ˆà-5¯\©\¸)Ó-DˆàÐÜÐ@ÀÀ
ÐKÓLÐLà<>ˆàò 	1ˆFäÓMÐ0LÔMÔMÜ Ð#IÈ&ÈÐ!RÓSÐSð #ŸJ™J z°2Ó6ˆMÙZgÔ-´3°}×7HÑ7HÈÐQSÓ7TÓ3UÕVÐmqˆHô 1Ü˜& ™/Ó*Ü % fÐ->Ñ&?Ó @ôˆMñ Ø,4�˜jÑ)à×!Ñ! -Õ0ð'	1ô* Ø�|‰|˜DÓ!Ò6¤S¬¯©«Ó%6Ø"Øô
ð 	
ó    N)Ú__name__Ú
__module__Ú__qualname__Údictr   r2   r   r3   r   r   r      s   „ ð%
¨Dð %
°^ô %
r3   r   N)Ú__doc__Útypingr   Úlitellm._uuidr   Úlitellm.types.rerankr   r   r   r   r	   r
   r   r   r3   r   ú<module>r<      s&   ðñõ å ÷÷ ÷&
ò &
r3   