a
    f	g$                     @   sH   d dl mZmZ d dlZd dlmZmZ d dlmZ G dd deZdS )    )AnyListN)api_requestorutil)APIResourcec                   @   s   e Zd ZdZedddZedddZeddddd	Zedddd
dZedddddZ	edddddZ
edddddZedddddZed ddddZed!ddddZdS )"AudioaudioNc                 C   sD   |t jjt jjfv r2d| j d| d| d| S |  d|  S )N/z/deployments/z/audio/z?api-version=)r   ZApiTypeZAZUREZAZURE_ADZazure_api_prefixZ	class_url)clsactiondeployment_idapi_typeapi_version r   ]/var/www/html/llm_bihealth/app/venv/lib/python3.9/site-packages/openai/api_resources/audio.py_get_url   s    zAudio._get_urlc	                 K   sH   t j||ptj|||d}
g }d|i|	}|d||dff |
||fS )N)api_baser   r   organizationmodelfilezapplication/octet-stream)r   ZAPIRequestoropenair   append)r
   r   filenamer   api_keyr   r   r   r   params	requestorfilesdatar   r   r   _prepare_request   s    zAudio._prepare_request)r   c                K   st   | j f ||j||||||d|	\}
}}| ||\}}| jd|||d}|
jd|||d\}}}t||||S Nr   r   r   r   r   r   r   r   Ztranscriptionsr   r   r   postr   r   r   name_get_api_type_and_versionr   requestr   convert_to_openai_objectr
   r   r   r   r   r   r   r   r   r   r   r   r   urlresponse_r   r   r   
transcribe-   s$    	zAudio.transcribec                K   st   | j f ||j||||||d|	\}
}}| ||\}}| jd|||d}|
jd|||d\}}}t||||S Nr    Ztranslationsr!   r"   r#   r$   r)   r   r   r   	translateM   s$    	zAudio.translatec	                K   sr   | j f ||||||||d|
\}}}| ||\}}| jd|	||d}|jd|||d\}}}t||||S r   r   r&   r   r'   r   r(   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r*   r+   r,   r   r   r   transcribe_rawm   s$    	zAudio.transcribe_rawc	                K   sr   | j f ||||||||d|
\}}}| ||\}}| jd|	||d}|jd|||d\}}}t||||S r.   r0   r1   r   r   r   translate_raw   s$    	zAudio.translate_rawc                   sz   | j f ||j||||||d|	\}
}}| ||\}}| jd|||d}|
jd|||dI d H \}}}t||||S r   r   r%   r&   r   arequestr   r(   r)   r   r   r   atranscribe   s(    	zAudio.atranscribec                   sz   | j f ||j||||||d|	\}
}}| ||\}}| jd|||d}|
jd|||dI d H \}}}t||||S r.   r4   r)   r   r   r   
atranslate   s(    	zAudio.atranslatec	                   sx   | j f ||||||||d|
\}}}| ||\}}| jd|	||d}|jd|||dI d H \}}}t||||S r   r   r&   r   r5   r   r(   r1   r   r   r   atranscribe_raw   s(    	zAudio.atranscribe_rawc	                   sx   | j f ||||||||d|
\}}}| ||\}}| jd|	||d}|jd|||dI d H \}}}t||||S r.   r8   r1   r   r   r   atranslate_raw  s(    	zAudio.atranslate_raw)NNN)NNNNN)NNNNN)NNNNN)NNNNN)NNNNN)NNNNN)NNNNN)NNNNN)NNNNN)__name__
__module____qualname__ZOBJECT_NAMEclassmethodr   r   r-   r/   r2   r3   r6   r7   r9   r:   r   r   r   r   r      s             
     
                 
!     
!     "     r   )	typingr   r   r   r   r   Zopenai.api_resources.abstractr   r   r   r   r   r   <module>   s   