
    OYhf'                       U d dl mZ d dlZd dlmZ ddlmZ ddlm	Z	m
Z
mZmZmZ ddlmZ ddlmZmZmZmZmZmZmZmZmZ dd	lmZ dd
lmZmZ ddlmZm Z  ddl!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z9 g dZ:ddl;m<Z= ddl>m?Z? ddl@mAZAmBZB ddlC ddlDmEZEmFZF  e9         eG       ZHe:D ]  ZIeIj                  d      r	 deHeI   _K        ! d dlNZOd dlZPd dlQZRddl4m"Z"m#Z# daSdeTd<   daUdeTd<   daVdeTd<   dZWdeTd<   e"aXdeTd <   e#aYd!eTd"<   daZd#eTd$<   da[d%eTd&<   da\d'eTd(<   ePj                  d)   Z^ eOj                  e^ej                  j                  d*            abd+eTd,<   ej                  j                  d-      acdeTd.<   ej                  j                  d/      addeTd0<   ej                  j                  d1      aedeTd2<   dZfd3eTd4<    G d5 d6e      Zg G d7 d8egeA      Zh G d9 d:e'      ZidCd;ZjdCd<ZkdCd=Zldad>eTd?<   dDd@ZmdEdAZnddBlompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZz y# eLeMf$ r Y ~w xY w)F    )annotationsN)override   )types)	NOT_GIVENNoneTypeNotGiven	TransportProxiesTypes)file_from_path)	ClientOpenAIStreamTimeoutr
   AsyncClientAsyncOpenAIAsyncStreamRequestOptions)	BaseModel)	__title____version__)APIResponseAsyncAPIResponse)DEFAULT_TIMEOUTDEFAULT_MAX_RETRIESDEFAULT_CONNECTION_LIMITS)APIErrorOpenAIErrorConflictErrorNotFoundErrorAPIStatusErrorRateLimitErrorAPITimeoutErrorBadRequestErrorAPIConnectionErrorAuthenticationErrorInternalServerErrorPermissionDeniedErrorUnprocessableEntityErrorAPIResponseValidationError)DefaultHttpxClientDefaultAsyncHttpxClient)setup_logging)%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   r   r   r   r   r   r   r   r   r+   r,   )azure)VERSION)AzureOpenAIAsyncAzureOpenAI)*)AssistantEventHandlerAsyncAssistantEventHandler__openai)r   r   
str | Noneapi_keyorganizationprojectzstr | _httpx.URL | Nonebase_urlfloat | Timeout | Nonetimeoutintmax_retries_t.Mapping[str, str] | Nonedefault_headers_t.Mapping[str, object] | Nonedefault_queryz_httpx.Client | Nonehttp_client)r6   r.   OPENAI_API_TYPEz_ApiType | Noneapi_typeOPENAI_API_VERSIONapi_versionAZURE_OPENAI_ENDPOINTazure_endpointAZURE_OPENAI_AD_TOKENazure_ad_tokenz"_azure.AzureADTokenProvider | Noneazure_ad_token_providerc                  r    e Zd Zeedd              Zej                  dd       Zeedd              Zej                  dd       Zeedd              Zej                  dd       Zeed fd              Z	e	j                  d fd       Z	eedd	              Z
e
j                  dd
       Z
eedd              Zej                  dd       Zeedd              Zej                  dd       Zeedd              Zej                  dd       Zeed fd              Zej                  d d       Z xZS )!_ModuleClientc                    t         S Nr8   selfs    N/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/openai/__init__.pyr8   z_ModuleClient.api_key   	         c                    |a y rQ   rR   rT   values     rU   r8   z_ModuleClient.api_key   	     rW   c                    t         S rQ   r9   rS   s    rU   r9   z_ModuleClient.organization   s
     rW   c                    |a y rQ   r]   rY   s     rU   r9   z_ModuleClient.organization   s	     rW   c                    t         S rQ   r:   rS   s    rU   r:   z_ModuleClient.project   rV   rW   c                    |a y rQ   r`   rY   s     rU   r:   z_ModuleClient.project   r[   rW   c                V    t         t        j                  t               S t        |    S rQ   )r;   _httpxURLsuperrT   	__class__s    rU   r;   z_ModuleClient.base_url   s%     ::h''wrW   c                $    |t               _        y rQ   )re   r;   )rT   urlrg   s     rU   r;   z_ModuleClient.base_url   s    rW   c                    t         S rQ   r=   rS   s    rU   r=   z_ModuleClient.timeout   rV   rW   c                    |a y rQ   rk   rY   s     rU   r=   z_ModuleClient.timeout   r[   rW   c                    t         S rQ   r?   rS   s    rU   r?   z_ModuleClient.max_retries   s
     rW   c                    |a y rQ   rn   rY   s     rU   r?   z_ModuleClient.max_retries   	     rW   c                    t         S rQ   rA   rS   s    rU   _custom_headersz_ModuleClient._custom_headers   s
     rW   c                    |a y rQ   rr   rY   s     rU   rs   z_ModuleClient._custom_headers   s	      rW   c                    t         S rQ   rC   rS   s    rU   _custom_queryz_ModuleClient._custom_query   s
     rW   c                    |a y rQ   rv   rY   s     rU   rw   z_ModuleClient._custom_query   s	     rW   c                (    t         xs
 t        |   S rQ   )rD   re   _clientrf   s    rU   rz   z_ModuleClient._client   s     -ego-rW   c                    |a y rQ   )rD   rY   s     rU   rz   z_ModuleClient._client   rp   rW   )returnr7   )rZ   r7   r|   None)r|   z
_httpx.URL)ri   z_httpx.URL | strr|   r}   )r|   r<   )rZ   r<   r|   r}   )r|   r>   )rZ   r>   r|   r}   )r|   r@   )rZ   r@   r|   r}   )r|   rB   )rZ   rB   r|   r}   )r|   _httpx.Client)rZ   r~   r|   r}   )__name__
__module____qualname__propertyr   r8   setterr9   r:   r;   r=   r?   rs   rw   rz   __classcell__rg   s   @rU   rO   rO      s       ^^ 
     
    ^^ 
      __     ^^ 
     
       
     
 .  . ^^ rW   rO   c                      e Zd Zy)_AzureModuleClientN)r   r   r    rW   rU   r   r      s    rW   r   c                        e Zd Zd fdZ xZS ) _AmbiguousModuleClientUsageErrorc                $    t         |   d       y )NzAmbiguous use of module client; please set `openai.api_type` or the `OPENAI_API_TYPE` environment variable to `openai` or `azure`)re   __init__rf   s    rU   r   z)_AmbiguousModuleClientUsageError.__init__   s     P	
rW   r|   r}   )r   r   r   r   r   r   s   @rU   r   r      s    
 
rW   r   c                 D    t         j                  j                  d      d uS )NOPENAI_API_KEY)_osenvirongetr   rW   rU   _has_openai_credentialsr      s    ;;??+,D88rW   c                 X    t         d uxs! t        j                  j                  d      d uS )NAZURE_OPENAI_API_KEY)rJ   r   r   r   r   rW   rU   _has_azure_credentialsr     s&    %\9O)PX\)\\rW   c                 l    t         j                  j                  d      d uxs t        d uxs t        d uS )NrK   )r   r   r   rL   rM   r   rW   rU   _has_azure_ad_credentialsr     s7    /0< 	/%	/"$.rW   zOpenAI | Nonerz   c                    t         vt        t        j                  j	                  d      at
        t        j                  j	                  d      at        t        j                  j	                  d      at        mt               } t               }t               }| r|s|r
t               t
        t        *t        j                  j	                  d      	 
t               |s|rdandat        dk(  rMt        t        t        t        t
        t        t        t         t"        t$        t&        t(        t*              a t         S t-        t        t        t.        t         t"        t$        t&        t(        t*        	      a t         S t         S )	NrI   rK   rG   r   r.   r6   )rH   rJ   r8   rL   rM   r9   r;   r=   r?   rA   rC   rD   )	r8   r9   r:   r;   r=   r?   rA   rC   rD   )rz   rJ   r   r   r   rL   rH   rF   r   r   r   r   rM   r   r8   r9   r;   r=   r?   rA   rC   rD   rO   r:   )
has_openai	has_azurehas_azure_ads      rU   _load_clientr     s9     ! [[__-DEN! [[__-DEN++//*>?K02J.0I46LyL688*.E.QWZWbWbWfWf&XX 788L"#w('--(?)!' /+'G N%#+'#

 NrW   c                     d a y rQ   )rz   r   rW   rU   _reset_clientr   S  s	     GrW   )betachataudiofilesimagesmodelsbatches
embeddingscompletionsfine_tuningmoderations)r|   bool)r|   r   r   ){
__future__r   osr   typing_extensionsr    r   _typesr   r   r	   r
   r   _utilsr   rz   r   r   r   r   r   r   r   r   _modelsr   _versionr   r   	_responser   r   
_constantsr   r   r   _exceptionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   _base_clientr+   r,   _utils._logsr-   _setup_logging__all__libr.   _azureversionr/   	lib.azurer0   r1   lib._old_apilib.streamingr3   r4   locals__locals__name
startswithr   	TypeErrorAttributeErrortyping_t_tehttpxrc   r8   __annotations__r9   r:   r;   r=   r?   rA   rC   rD   Literal_ApiTypecastr   r   rF   rH   rJ   rL   rM   rO   r   r   r   r   r   r   r   _module_clientr   r   r   r   r   r   r   r   r   r   r   r   rW   rU   <module>r      s   #  &  J J " v v v  , W W W     F 9&P ! ' W 
   8 FT"	*2HV'    > j  $(
! ("1	 1&S &/3, 304- 4$(! (;;()#BGGHckkoo>O.PQ/ Q++//*>?Z ? [[__-DE
 E [[__-DE
 E>B ; BfF fR 
{ 
9]  ?D   u >* 		s   
H99II