§
    û�Äj¶  ã                   ób   — d 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
  G d„ de¦  «        ZdS )	z"Copyright (C) 2020 Nidhal Baccourié    N)ÚListÚOptional)ÚBaseTranslator)ÚOPEN_AI_ENV_VAR)ÚApiKeyExceptionc            
       ó¼   ‡ — e Zd ZdZdd ej        ed¦  «        dfdededee         d	ee         fˆ fd
„Z	dedefd„Z
dedefd„Zdee         dee         fd„Zˆ xZS )ÚChatGptTranslatorzv
    class that wraps functions, which use the DeeplTranslator translator
    under the hood to translate word(s)
    ÚautoÚenglishNzgpt-3.5-turboÚsourceÚtargetÚapi_keyÚmodelc                 óŠ   •— |st          t          ¬¦  «        ‚|| _        || _         t	          ¦   «         j        d||dœ|¤Ž dS )z„
        @param api_key: your openai api key.
        @param source: source language
        @param target: target language
        )Úenv_var)r   r   N© )r   r   r   r   ÚsuperÚ__init__)Úselfr   r   r   r   ÚkwargsÚ	__class__s         €úHC:\Projects\Historical\venv\Lib\site-packages\deep_translator/chatgpt.pyr   zChatGptTranslator.__init__   sV   ø€ ð ð 	;Ý!­/Ð:Ñ:Ô:Ð:àˆŒØˆŒ
à�‰ŒÔÐ@ ¨vÐ@Ð@¸Ð@Ð@Ð@Ð@Ð@ó    ÚtextÚreturnc                 óÂ   — ddl }| j        |_        d| j        › d�}|d|› d�z  }|j                             | j        d|dœg¬	¦  «        }|j        d         j        j        S )
zQ
        @param text: text to translate
        @return: translated text
        r   NzTranslate the text below into z.
zText: "ú"Úuser)ÚroleÚcontent)r   Úmessages)	Úopenair   r   ÚChatCompletionÚcreater   ÚchoicesÚmessager    )r   r   r   r"   ÚpromptÚresponses         r   Ú	translatezChatGptTranslator.translate&   s�   € ð
 	ˆˆˆàœˆŒàB°$´+ÐBÐBÐBˆØÐ#˜DÐ#Ð#Ð#Ñ#ˆàÔ(×/Ò/Ø”*ð #Ø%ðð ðð 0ñ 
ô 
ˆð Ô Ô"Ô*Ô2Ð2r   Úpathc                 ó   —  | j         |fi |¤ŽS )N)Ú_translate_file)r   r*   r   s      r   Útranslate_filez ChatGptTranslator.translate_file>   s   € Ø#ˆtÔ# DÐ3Ð3¨FÐ3Ð3Ð3r   Úbatchc                 ó   —  | j         |fi |¤ŽS )z`
        @param batch: list of texts to translate
        @return: list of translations
        )Ú_translate_batch)r   r.   r   s      r   Útranslate_batchz!ChatGptTranslator.translate_batchA   s   € ð
 %ˆtÔ$ UÐ5Ð5¨fÐ5Ð5Ð5r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚosÚgetenvr   Ústrr   r   r)   r-   r   r1   Ú__classcell__)r   s   @r   r	   r	      s  ø€ € € € € ðð ð ØØ!* ¤¨?¸DÑ!AÔ!AØ.ðAð AàðAð ðAð ˜#”ð	Að
 ˜Œ}ðAð Að Að Að Að Að*3˜cð 3°ð 3ð 3ð 3ð 3ð04 3ð 4°Sð 4ð 4ð 4ð 4ð6 T¨#¤Yð 6¸TÀ#¼Yð 6ð 6ð 6ð 6ð 6ð 6ð 6ð 6r   r	   )Ú__copyright__r6   Útypingr   r   Údeep_translator.baser   Údeep_translator.constantsr   Údeep_translator.exceptionsr   r	   r   r   r   ú<module>r?      s•   ðØ4€à 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à /Ð /Ð /Ð /Ð /Ð /Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6ð;6ð ;6ð ;6ð ;6ð ;6˜ñ ;6ô ;6ð ;6ð ;6ð ;6r   