o
    Æ°i¯  ã                   @   sd   d dl mZmZ d dlmZ d dlmZ ddlmZ ddl	m
Z
 G dd„ de
ƒZG d	d
„ d
eƒZdS )é    )ÚListÚOptional©Úget_secret_str)ÚAllMessageValuesé   )ÚBaseLLMModelInfo)ÚBaseLLMExceptionc                   @   s   e Zd ZdS )ÚTopazExceptionN)Ú__name__Ú
__module__Ú__qualname__© r   r   úV/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/topaz/common_utils.pyr
   
   s    r
   c                   @   sÄ   e Zd Z		ddededee dededee dee d	efd
d„Z	ddee dee d	ee fdd„Z	e
ddee d	ee fdd„ƒZe
ddee d	ee fdd„ƒZe
ded	efdd„ƒZdS )ÚTopazModelInfoNÚheadersÚmodelÚmessagesÚoptional_paramsÚlitellm_paramsÚapi_keyÚapi_baseÚreturnc                 C   s   |d u rt dƒ‚d|dœS )NzWAPI key is required for Topaz image variations. Set via `TOPAZ_API_KEY` or `api_key=..`z
image/jpeg)ÚAcceptz	X-API-Key)Ú
ValueError)Úselfr   r   r   r   r   r   r   r   r   r   Úvalidate_environment   s   
ÿýz#TopazModelInfo.validate_environmentc                 C   s   g d¢S )N)ztopaz/Standard V2ztopaz/Low Resolution V2z	topaz/CGIztopaz/High Resolution V2ztopaz/Text Refiner   )r   r   r   r   r   r   Ú
get_models#   s   zTopazModelInfo.get_modelsc                 C   s   | pt dƒS )NZTOPAZ_API_KEYr   )r   r   r   r   Úget_api_key.   s   zTopazModelInfo.get_api_keyc                 C   s   | pt dƒpdS )NZTOPAZ_API_BASEzhttps://api.topazlabs.comr   )r   r   r   r   Úget_api_base2   s   ÿzTopazModelInfo.get_api_basec                 C   s   | S ©Nr   )r   r   r   r   Úget_base_model8   s   zTopazModelInfo.get_base_model)NNr    )r   r   r   ÚdictÚstrr   r   r   r   r   Ústaticmethodr   r   r!   r   r   r   r   r      sD    øþýüûúùø	
÷ÿÿÿ
þr   N)Útypingr   r   Zlitellm.secret_managers.mainr   Zlitellm.types.llms.openair   Zbase_llm.base_utilsr   Zbase_llm.chat.transformationr	   r
   r   r   r   r   r   Ú<module>   s    