o
    HEDi                     @   s~   d dl mZ d dlmZmZmZ d dlmZmZm	Z	 d dl
mZ d dlmZ d dlmZ e	ddgd	G d
d deeeZdS )    )
quote_plus)api_requestorutilerror)CreateableAPIResourceListableAPIResourcenested_resource_class_methods)DeletableAPIResource)OpenAIResponse)ApiTypeeventlist)
operationsc                   @   s   e Zd ZdZe				dddZe				dddZe				dddZe						dd	d
Ze						dddZ	e						dddZ
dS )FineTunez
fine-tunesNc                 K   s   |   }t|}| ||\}	}|	tjtjfv r"d| j|||f }
n|	tjkr.d||f }
nt	d| | ||fi |}||
fS )Nz/%s%s/%s/cancel?api-version=%sz%s/%s/cancelUnsupported API type %s)
	class_urlr   _get_api_type_and_versionr   AZUREAZURE_ADazure_api_prefixOPEN_AIr   InvalidAPIType)clsidapi_keyapi_type
request_idapi_versionparamsbaseextntyped_api_typeurlinstance r$   m/var/www/www-root/data/www/ovozai.pdev.uz/venv/lib/python3.10/site-packages/openai/api_resources/fine_tune.py_prepare_cancel   s"   

zFineTune._prepare_cancelc           	      K   .   | j |||||fi |\}}|jd||dS Npost)r   )r&   request	r   r   r   r   r   r   r   r#   r"   r$   r$   r%   cancel1      

zFineTune.cancelc           	      K   r'   r(   )r&   arequestr+   r$   r$   r%   acancelE   r-   zFineTune.acancelc                 K   s   |   }	t|}
tj|||||d}| ||\}}|tjtjfv r/d| j|	|
|f }||fS |tj	kr>d|	|
f }||fS t
d| )N)api_baser   r   organizationz*/%s%s/%s/events?stream=true&api-version=%sz%s/%s/events?stream=truer   )r   r   r   APIRequestorr   r   r   r   r   r   r   r   )r   r   r   r0   r   r   r   r1   r   r   r    	requestorr!   r"   r$   r$   r%   _prepare_stream_eventsY   s0   
zFineTune._prepare_stream_eventsc                    s`   | j | |||fi |\}	}
|	jd|
|d|d\}} t|tr%J  fdd|D S )NgetTstreamr   c                 3   s     | ]}t | V  qd S Nr   convert_to_openai_object.0liner   r   r1   r$   r%   	<genexpr>   s    
z)FineTune.stream_events.<locals>.<genexpr>)r4   r*   
isinstancer
   r   r   r   r0   r   r   r   r1   r   r3   r"   response_r$   r>   r%   stream_events   s$   

zFineTune.stream_eventsc                    sh   | j | |||fi |\}	}
|	jd|
|d|dI d H \}} t|tr)J  fdd|2 S )Nr5   Tr6   c                   s*   | z3 d H W }t | V  q6 d S r8   r9   r;   r>   r$   r%   r?      s    z*FineTune.astream_events.<locals>.<genexpr>)r4   r.   r@   r
   rA   r$   r>   r%   astream_events   s&   

zFineTune.astream_events)NNNN)NNNNNN)__name__
__module____qualname__OBJECT_NAMEclassmethodr&   r,   r/   r4   rD   rE   r$   r$   r$   r%   r      sX    (%r   N)urllib.parser   openair   r   r   openai.api_resources.abstractr   r   r   4openai.api_resources.abstract.deletable_api_resourcer	   openai.openai_responser
   openai.utilr   r   r$   r$   r$   r%   <module>   s    