o
    ưi                     @   s\   d dl mZmZ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Union)Headers)BaseLLMException)OpenAIGPTConfigc                
       s:   e Zd Z	ddededeeeef  f fddZ	  Z
S )MaritalkErrorNstatus_codemessageheadersc                    s   t  j|||d d S N)r	   r
   r   )super__init__)selfr	   r
   r   	__class__ L/home/app/Keep/.python/lib/python3.10/site-packages/litellm/llms/maritalk.pyr   
   s   zMaritalkError.__init__N)__name__
__module____qualname__intstrr   r   dictr   r   __classcell__r   r   r   r   r   	   s    r   c                       s   e Zd Z												ddee dee dee dee dee dee dee d	eee  d
ee dee	 deee	  dee
ee	f  ddfddZe fddZdedefddZdedede
e	ef defddZ  ZS )MaritalkConfigNfrequency_penaltypresence_penaltytop_ptop_ktemperature
max_tokensnstopstreamstream_optionstoolstool_choicereturnc                 C   s>   t   }| D ]\}}|dkr|d urt| j|| q	d S )Nr   )localscopyitemssetattrr   )r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   Zlocals_keyvaluer   r   r   r      s   
zMaritalkConfig.__init__c                    s
   t   S r   )r   
get_config)clsr   r   r   r0   (   s   
zMaritalkConfig.get_configmodelc                 C   s   g dS )N)r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r   )r   r2   r   r   r   get_supported_openai_params,   s   z*MaritalkConfig.get_supported_openai_paramserror_messager	   r   c                 C   s   t |||dS r   )r   )r   r4   r	   r   r   r   r   get_error_class<   s   zMaritalkConfig.get_error_class)NNNNNNNNNNNN)r   r   r   r   floatr   r   r   boolr   r   r   classmethodr0   r3   r   r   r5   r   r   r   r   r   r      sh    
	



r   N)typingr   r   r   Zhttpx._modelsr   Z)litellm.llms.base_llm.chat.transformationr   Z+litellm.llms.openai.chat.gpt_transformationr   r   r   r   r   r   r   <module>   s    
