
    ij                       d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ ed   Z G d	 d
ed      Zdd	 	 	 	 	 	 	 d#dZedk(  rd dlZd dlmZ d dlZ ej,                         Zej1                  d       ej1                  dd ee      d       ej1                  dd       ej1                  dd       ej1                  ddd       ej3                         Zej6                  rr ej8                  d      Zej=                  ej>                          ej@                         Z! ejD                  d       Z#e!jI                  e#       ejK                  e!       ej                  jM                  ejN                        Z(dejR                  iZ*ejV                  rejV                  e*d!<   ejX                  rejX                  e*d"<    ede(fi e*Z- e.e-       yy)$    )annotationsN)Literal	TypedDict)Unpack)	AudioData)
SetupError)OpenAICompatibleRecognizer)	whisper-1zgpt-4o-transcribezgpt-4o-mini-transcribec                  :    e Zd ZU dZded<   ded<   ded<   ded<   y	)
OpenAIOptionalParameterszOpenAI speech transcription's optional parameters.

    https://platform.openai.com/docs/api-reference/audio/createTranscription
    strlanguagepromptzLiteral['json']response_formatfloattemperatureN)__name__
__module____qualname____doc____annotations__     o/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/speech_recognition/recognizers/whisper_api/openai.pyr   r      s    
 MK$$r   r   F)totalr
   )modelr   c                   	 ddl }t        |j	                               } |j
                  ||fi |S # t        $ r t        d      w xY w)a  Performs speech recognition on ``audio_data`` (an ``AudioData`` instance), using the OpenAI Whisper API.

    This function requires an OpenAI account; visit https://platform.openai.com/signup, then generate API Key in `User settings <https://platform.openai.com/account/api-keys>`__.

    Detail: https://platform.openai.com/docs/guides/speech-to-text

    Set environment variable ``OPENAI_API_KEY``; otherwise openai library will raise a ``openai.OpenAIError``.
    r   Nz>missing openai module: ensure that openai is set up correctly.)openaiImportErrorr   r	   OpenAI	recognize)
recognizer
audio_datar   kwargsr   openai_recognizers         r   r!   r!   "   sY    
 36==?C&&&z5CFCC  
L
 	

s	   3 A__main__)get_args
audio_filez-mz--model)choicesdefaultz-lz
--languagez-pz--promptz-vz	--verbose
store_true)actionspeech_recognitionzL%(asctime)s | %(levelname)s | %(name)s:%(funcName)s:%(lineno)d - %(message)sr   r   )r#   z'AudioData'r   WhisperModelr$   z Unpack[OpenAIOptionalParameters]returnr   )/
__future__r   loggingtypingr   r   typing_extensionsr   speech_recognition.audior   speech_recognition.exceptionsr   /speech_recognition.recognizers.whisper_api.baser	   r.   r   r!   r   argparser'   r-   srArgumentParserparseradd_argument
parse_argsargsverbose	getLoggerspeech_recognition_loggersetLevelDEBUGStreamHandlerconsole_handler	Formatterconsole_formattersetFormatter
addHandler	from_filer(   r#   r   recognize_argsr   r   transcriptionprintr   r   r   <module>rM      s   "  % $ . 4
 >

y 
$ &	DD 	D
 /D 	D4 z#$X$$&F
%
i,!7   l+
j)
k,?D||$5G$5$56J$K!!**7==9/'//1-G--Z
 	$$%67!,,_=''8Jtzz*N}}%)]]z"{{#';;x dJA.AM	-I r   