ó
    |¤jÊ  ã                   óà   • S SK JrJrJrJr  S SKJr  S SKJrJ	r	  S SK
JrJr  S SKJr  SS/r   SS	\S
\S\\   S\S\S\S\\\\\\4   \\\4   4   4S jjr " S S\	5      r " S S\5      rg)é    )ÚAnyÚDictÚListÚTuple)ÚReRankResponse)Ú
BaseAioApiÚBaseApi)ÚInputRequiredÚModelRequired)Ú_get_task_group_and_taskÚ
TextReRankÚAioTextReRankNÚmodelÚqueryÚ	documentsÚreturn_documentsÚtop_nÚinstructÚreturnc                 óÊ   • Ub
  Ub  U(       d  [        S5      eU b  U (       d  [        S5      e[        [        5      u  pxUUS.n	0 n
Ub  X:S'   Ub  XJS'   Ub  XZS'   0 U
EUEn
XxXš4$ )Nz!query and documents are required!zModel is required!)r   r   r   r   r   )r
   r   r   Ú__name__)r   r   r   r   r   r   ÚkwargsÚ
task_groupÚfunctionÚrerank_inputÚ
parameterss              ÚªC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\dashscope/rerank/text_rerank.pyÚ_build_rerank_requestr      s•   € ð �}˜	Ñ)¶ÜÐ?Ó@Ð@Ø�}žEÜÐ0Ó1Ð1ä3´HÓ=Ñ€JàØñ€Lð €JØÑ#Ø)9Ð%Ñ&ØÑØ#�7ÑØÑØ!)�:ÑØ)�JÐ) &Ð)€Jà Ð9Ð9ó    c                   ó‚   ^ • \ rS rSrSr  " S S5      r\    SS\S\S\\   S\	S	\
S
\S\S\4U 4S jjj5       rSrU =r$ )r   é-   útext-rerankc                   ó$   • \ rS rSrSrSrSrSrSrg)ÚTextReRank.Modelsé3   z
gte-rerankzgte-rerank-v2zqwen3-rerankzqwen3-vl-rerank© N)	r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú
gte_rerankÚgte_rerank_v2Úqwen3_rerankÚqwen3_vl_rerankÚ__static_attributes__r&   r   r   ÚModelsr$   3   s   † Ø!ˆ
Ø'ˆØ%ˆØ+‹r   r/   r   r   r   r   r   Úapi_keyr   r   c           
      ó¤   >• [        SUUUUUUS.UD6u  pšp¼[        TU ]  " SUU	[        R                  U
UUS.UD6n[
        R                  " U5      $ )aµ  Calling rerank service.

Args:
    model (str): The model to use.
    query (str): The query string.
    documents (List[str]): The documents to rank.
    return_documents(bool, `optional`): enable return origin documents,
        system default is false.
    top_n(int, `optional`): how many documents to return,
        default return all the documents.
    api_key (str, optional): The DashScope api key. Defaults to None.
    instruct (str, optional): Custom task instruction to guide
        ranking strategy. English recommended.

Raises:
    InputRequired: The query and documents are required.
    ModelRequired: The model is required.

Returns:
    RerankResponse: The rerank result.
©r   r   r   r   r   r   )r   r   Útaskr   r0   Úinputr&   )r   ÚsuperÚcallr   r3   r   Úfrom_api_response)Úclsr   r   r   r   r   r0   r   r   r   r   r   r   ÚresponseÚ	__class__s                 €r   r6   ÚTextReRank.call9   s   ø€ ôD :Oð :
ØØØØ-ØØñ:
ð ñ:
Ñ6ˆ
˜lô ‘7’<ð 
ØØ!Ü—‘ØØØñ
ð ñ
ˆô ×/Ò/°Ó9Ð9r   r&   )NNNN)r   r'   r(   r)   r3   r/   ÚclassmethodÚstrr   ÚboolÚintr   r6   r.   Ú__classcell__©r:   s   @r   r   r   -   s‹   ø† Ø€Dð÷,ñ ,ð ð "&ØØØñ5:àð5:ð ð5:ð ˜‘9ð	5:ð
 ð5:ð ð5:ð ð5:ð ð5:ð 
÷5:ó ö5:r   c                   óŒ   ^ • \ rS rSrSr \R                  r\     SS\S\S\	\   S\
S\S\S	\S
\S\4U 4S jjj5       rSrU =r$ )r   ér   r"   r   r   r   r   r   r0   Ú	workspacer   r   c	              ‹   óÂ   >#   • [        SUUUUUUS.U	D6u  p«pÍ[        TU ]  " SUU
[        R                  UUUUS.UD6I Sh  v•N n[
        R                  " U5      $  N7f)aÿ  Calling rerank service asynchronously.

Args:
    model (str): The model to use.
    query (str): The query string.
    documents (List[str]): The documents to rank.
    return_documents(bool, `optional`): enable return origin documents,
        system default is false.
    top_n(int, `optional`): how many documents to return,
        default return all the documents.
    api_key (str, optional): The DashScope api key. Defaults to None.
    workspace (str, optional): The DashScope workspace id.
    instruct (str, optional): Custom task instruction to guide
        ranking strategy. English recommended.

Raises:
    InputRequired: The query and documents are required.
    ModelRequired: The model is required.

Returns:
    RerankResponse: The rerank result.
r2   )r   r   r3   r   r0   rD   r4   Nr&   )r   r5   r6   r   r3   r   r7   )r8   r   r   r   r   r   r0   rD   r   r   r   r   r   r   r9   r:   s                  €r   r6   ÚAioTextReRank.callx   s‘   øé € ôH :Oð :
ØØØØ-ØØñ:
ð ñ:
Ñ6ˆ
˜lô ™šð 	
ØØ!Ü×#Ñ#ØØØØñ	
ð ñ	
÷ 	
ˆô ×/Ò/°Ó9Ð9ñ	
ùs   ƒ?AÁAÁAr&   )NNNNN)r   r'   r(   r)   r3   r   r/   r<   r=   r   r>   r?   r   r6   r.   r@   rA   s   @r   r   r   r   s•   ø† Ø€DØ&à×Ñ€Fàð "&ØØØØñ7:àð7:ð ð7:ð ˜‘9ð	7:ð
 ð7:ð ð7:ð ð7:ð ð7:ð ð7:ð 
÷7:ó ö7:r   )NNN)Útypingr   r   r   r   Ú)dashscope.api_entities.dashscope_responser   Údashscope.client.base_apir   r	   Údashscope.common.errorr
   r   Údashscope.common.utilsr   Ú__all__r=   r>   r?   r   r   r   r&   r   r   Ú<module>rM      s²   ð÷ *Ó )å Dß 9ß ?Ý ;à˜Ð
)€ð "ØØñ:Øð:àð:ð �C‰yð:ð ð	:ð
 ð:ð ð:ð ˆ3��T˜#˜s˜(‘^ T¨#¨s¨(¡^Ð3Ñ4õ:ô>B:�ô B:ôJ?:�Jõ ?:r   