Ë
    âß²j”  ã                   ót   — d Z ddlmZ ddlmZ ddlmZ  G d„ de«      Z eddd	d
ddddd¬«	      Z ee«       y)zNVIDIA NIM provider profile.é    )ÚAny)Úregister_provider)ÚProviderProfilec                   óZ   — e Zd ZdZededefd„«       Zdee	e
ef      dee	e
ef      fd„Zy)ÚNvidiaProviderProfilezRNVIDIA NIM accepts a stricter ToolMessage schema than most OpenAI-compatible APIs.ÚmsgÚreturnc                 óf   — t        | t        «      xr  | j                  d«      dk(  xr
 d| v xs d| v S )NÚroleÚtoolÚnameÚ	tool_name)Ú
isinstanceÚdictÚget)r   s    úL/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/nvidia/__init__.pyÚ_needs_stripz"NvidiaProviderProfile._needs_strip   s7   € ä˜#œtÓ$Òl¨¯©°«¸FÑ)BÒlÈÐRUÈÒHkÐYdÐhkÐYkÐló    Úmessagesc                 óæ   ‡ — t        ˆ fd„|D «       «      s|S |D ���cg c]>  }‰ j                  |«      r)|j                  «       D ��ci c]  \  }}|dvsŒ||“Œ c}}n|‘Œ@ c}}}S c c}}w c c}}}w )zŒCopy-on-write: only tool messages that lose a field are copied
        (no deep copy of large tool outputs); untouched input returned as-is.c              3   ó@   •K  — | ]  }‰j                  |«      –— Œ y ­w)N)r   )Ú.0r   Úselfs     €r   ú	<genexpr>z9NvidiaProviderProfile.prepare_messages.<locals>.<genexpr>   s   øè ø€ Ò>¨c�4×$Ñ$ S×)Ñ>ùs   ƒ)r   r   )Úanyr   Úitems)r   r   r   ÚkÚvs   `    r   Úprepare_messagesz&NvidiaProviderProfile.prepare_messages   sy   ø€ ô Ó>°XÔ>Ô>ØˆOð  ÷
ð 
àð QU×PaÑPaÐbeÔPf˜cŸi™i›k×L‘d�a˜¨QÐ6KÒ-KˆQ�‰TÔLÐloÑoô
ð 	
ùÛLùô
s   ž)A,ÁA&ÁA&ÁA,Á&A,N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústaticmethodr   Úboolr   Úlistr   Ústrr   © r   r   r   r   	   sW   „ Ù\àðm˜#ð m $ò mó ðmð
¨¨d°3¸°8©nÑ)=ð 
À$ÀtÈCÐQTÈHÁ~ÑBVô 
r   r   Únvidia)z
nvidia-nimÚnimzbuild-nvidiaÚnemotron)ÚNVIDIA_API_KEYz
NVIDIA NIMu$   NVIDIA NIM â€” accelerated inferencezhttps://build.nvidia.com/)z&nvidia/llama-3.1-nemotron-70b-instructznvidia/llama-3.3-70b-instructz#https://integrate.api.nvidia.com/v1i @  )	r   ÚaliasesÚenv_varsÚdisplay_nameÚdescriptionÚ
signup_urlÚfallback_modelsÚbase_urlÚdefault_max_tokensN)	r#   Útypingr   Ú	providersr   Úproviders.baser   r   r)   r(   r   r   ú<module>r8      sQ   ðÙ "å å 'Ý *ô
˜Oô 
ñ$ 
Ø	ÐLÐWjð  zFØ6ÐC^Ø_Ø2Àuô	
€ñ �&Õ r   