
    ^h                     j    S r SSKJr  SSKrSSKrSSKJr  SSKJ	r	  SSK
Jr  SSKJr   " S S	\	5      rg)
zO
Translate between Cohere's `/rerank` format and Azure AI's `/rerank` format. 
    )OptionalN)Logging)CohereRerankConfig)get_secret_str)RerankResponsec                      ^  \ rS rSrSrS\\   S\S\4S jr SS\S\S	\\   S\4S
 jjr	S0 0 0 4S\S\
R                  S\S\S	\\   S\S\S\S\4U 4S jjjrS\\   S\\   4S jrSrU =r$ )AzureAIRerankConfig   z:
Azure AI Rerank - Follows the same Spec as Cohere Rerank
api_basemodelreturnc                 X    Uc  [        S5      eUR                  S5      (       d  U S3nU$ )Nz]Azure AI API Base is required. api_base=None. Set in call or via `AZURE_AI_API_BASE` env var.z
/v1/rerank)
ValueErrorendswith)selfr   r   s      e/home/james-whalen/.local/lib/python3.13/site-packages/litellm/llms/azure_ai/rerank/transformation.pyget_complete_url$AzureAIRerankConfig.get_complete_url   s<    o    ..":.H    Nheadersapi_keyc                     Uc"  [        S5      =(       d    [        R                  nUc  [        S5      eSU 3SSS.nSU;   a  US   US'   0 UEUE$ )NAZURE_AI_API_KEYzRAzure AI API key is required. Please set 'AZURE_AI_API_KEY' or 'litellm.azure_key'zBearer zapplication/json)Authorizationacceptzcontent-typer   )r   litellm	azure_keyr   )r   r   r   r   default_headerss        r   validate_environment(AzureAIRerankConfig.validate_environment   sx     ?$%78MG<M<MG?d 
  'wi0(.
 g%/6/GOO, ./-W--r   raw_responsemodel_responselogging_objrequest_dataoptional_paramslitellm_paramsc	                    > [         TU ]  UUUUUUUUS9n	U R                  U	R                  R	                  S5      5      n
XR                  S'   U	$ )N)r   r!   r"   r#   r   r$   r%   r&   z llm_provider-azureml-model-groupr   )supertransform_rerank_response_get_base_model_hidden_paramsget)r   r   r!   r"   r#   r   r$   r%   r&   rerank_response
base_model	__class__s              r   r)   -AzureAIRerankConfig.transform_rerank_response9   sn      ';%)#%+) < 	
 ))**../QR

 3=&&w/r   azure_model_groupc                 *    Uc  g US:X  a  gUS:X  a  gU$ )Nzoffer-cohere-rerank-mul-paygoz&azure_ai/cohere-rerank-v3-multilingualzoffer-cohere-rerank-eng-paygoz!azure_ai/cohere-rerank-v3-english )r   r1   s     r   r*   #AzureAIRerankConfig._get_base_modelT   s)    $ ??; ??6  r   r3   )N)__name__
__module____qualname____firstlineno____doc__r   strr   dictr   httpxResponser   LiteLLMLoggingObjr)   r*   __static_attributes____classcell__)r/   s   @r   r	   r	      s    # s s  "&	.. . #	.
 
.B "& "! nn '	
 ' #    
 6!# !8C= ! !r   r	   )r9   typingr   r<   r   *litellm.litellm_core_utils.litellm_loggingr   r>   )litellm.llms.cohere.rerank.transformationr   litellm.secret_managers.mainr   litellm.types.utilsr   r	   r3   r   r   <module>rF      s0       S H 7 .K!, K!r   