o
    RTh                     @   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 )
Deploymentdeploymentsc                 O   s   |  |dd d \}}|tjjtjjfvrtd|dd d u r(tddd|dd }|d u r8tdddd|vsH|d  d	krNd
|vrPtdddd S 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.
scale_type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/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/openai/api_resources/deployment.py_check_create   s6   zDeployment._check_createc                    "   | 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#   -      zDeployment.createc                    r    r!   )r   r"   acreater$   r%   r   r   r(   5   r'   zDeployment.acreatec                 O   8   |  |dd d \}}|tjjtjjfvrtdd S Nr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   _check_list=      zDeployment._check_listc                    r    N)r-   r"   listr$   r%   r   r   r0   G      zDeployment.listc                    r    r/   )r-   r"   alistr$   r%   r   r   r2   L   r1   zDeployment.alistc                 O   r)   r*   r+   r,   r   r   r   _check_deleteQ   r.   zDeployment._check_deletec                    r    r/   )r3   r"   deleter$   r%   r   r   r4   [   r1   zDeployment.deletec                    r    r/   )r3   r"   adeleter$   r%   r   r   r5   `   r1   zDeployment.adeletec                 O   r)   r*   r+   r,   r   r   r   _check_retrievee   r.   zDeployment._check_retrievec                    r    r/   )r6   r"   retriever$   r%   r   r   r7   o   r1   zDeployment.retrievec                    r    r/   )r6   r"   	aretriever$   r%   r   r   r8   t   r1   zDeployment.aretrieve)__name__
__module____qualname__OBJECT_NAMEclassmethodr   r#   r(   r-   r0   r2   r3   r4   r5   r6   r7   r8   __classcell__r   r   r%   r   r   
   s4    

	
	
	r   N)
openair   openai.api_resources.abstractr   r   r   openai.errorr   r   r   r   r   r   r   <module>   s    