a
    f	g                     @   sH   d dl mZ d dlmZmZmZ d dlmZmZ G dd deeeZ	dS )    )util)DeletableAPIResourceListableAPIResourceCreateableAPIResource)InvalidRequestErrorAPIErrorc                       s   e Zd ZdZedd Ze fddZe fddZedd	 Ze fd
dZ	e fddZ
edd Ze fddZe fddZedd Ze fddZe fddZ  ZS )
DeploymentZdeploymentsc                 O   s   |  |dd d \}}|tjjtjjfvr4td|dd d u rPtddd|dd }|d u rptdddd|vs|d  d	krd
|vrtdddd S )Napi_type@Deployment operations are only available for the Azure API type.modelz8Must provide a 'model' parameter to create a Deployment.)paramscale_settingszAMust provide a 'scale_settings' parameter to create a Deployment.Z
scale_typeZmanualcapacityzEThe 'scale_settings' parameter contains invalid or incomplete values.)	_get_api_type_and_versiongetr   ApiTypeAZUREAZURE_ADr   r   lower)clsargskwargstyped_api_type_r    r   b/var/www/html/llm_bihealth/app/venv/lib/python3.9/site-packages/openai/api_resources/deployment.py_check_create   s6    zDeployment._check_createc                    s"   | j |i | t j|i |S zR
        Creates a new deployment for the provided prompt and parameters.
        )r   supercreater   r   r   	__class__r   r   r   -   s    zDeployment.createc                    s"   | j |i | t j|i |S r   )r   r   acreater    r!   r   r   r#   5   s    zDeployment.acreatec                 O   s8   |  |dd d \}}|tjjtjjfvr4tdd S Nr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   _check_list=   s    zDeployment._check_listc                    s"   | j |i | t j|i |S N)r'   r   listr    r!   r   r   r)   G   s    zDeployment.listc                    s"   | j |i | t j|i |S r(   )r'   r   alistr    r!   r   r   r*   L   s    zDeployment.alistc                 O   s8   |  |dd d \}}|tjjtjjfvr4tdd S r$   r%   r&   r   r   r   _check_deleteQ   s    zDeployment._check_deletec                    s"   | j |i | t j|i |S r(   )r+   r   deleter    r!   r   r   r,   [   s    zDeployment.deletec                    s"   | j |i | t j|i |S r(   )r+   r   adeleter    r!   r   r   r-   `   s    zDeployment.adeletec                 O   s8   |  |dd d \}}|tjjtjjfvr4tdd S r$   r%   r&   r   r   r   _check_retrievee   s    zDeployment._check_retrievec                    s"   | j |i | t j|i |S r(   )r.   r   retriever    r!   r   r   r/   o   s    zDeployment.retrievec                    s"   | j |i | t j|i |S r(   )r.   r   	aretriever    r!   r   r   r0   t   s    zDeployment.aretrieve)__name__
__module____qualname__ZOBJECT_NAMEclassmethodr   r   r#   r'   r)   r*   r+   r,   r-   r.   r/   r0   __classcell__r   r   r!   r   r   
   s2   

	
	
	r   N)
Zopenair   Zopenai.api_resources.abstractr   r   r   Zopenai.errorr   r   r   r   r   r   r   <module>   s   