o
    i                  
   @  s   d dl mZ d dlZd dlmZ d dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d d	lmZmZ d d
lmZ zd dlmZ W n eyY Z zededZ[ww G dd dee ZdS )    )annotationsN)overload)AsyncOpenAI)ModelProfile)	UserError)cached_async_http_client)deepseek_model_profile)OpenAIJsonSchemaTransformerOpenAIModelProfile)Provideru   Please install the `openai` package to use the DeepSeek provider, you can use the `openai` optional group — `pip install "pydantic-ai-slim[openai]"`c                   @  s   e Zd ZdZed ddZed ddZed!d	d
Zd"ddZe	d#ddZ
e	d$ddZ
e	d%ddZ
e	ddd&ddZ
ddddd'ddZ
dS )(DeepSeekProviderzProvider for DeepSeek API.returnstrc                 C     dS )Ndeepseek selfr   r   d/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pydantic_ai/providers/deepseek.pyname      zDeepSeekProvider.namec                 C  r   )Nzhttps://api.deepseek.comr   r   r   r   r   base_url    r   zDeepSeekProvider.base_urlr   c                 C  s   | j S N)_clientr   r   r   r   client$   s   zDeepSeekProvider.client
model_nameModelProfile | Nonec                 C  s   t |}ttd|S )N)json_schema_transformer)r   r
   r	   update)r   r   profiler   r   r   model_profile(   s   zDeepSeekProvider.model_profileNonec                 C     d S r   r   r   r   r   r   __init__1      zDeepSeekProvider.__init__api_keyc                C  r"   r   r   )r   r%   r   r   r   r#   4   r$   http_clienthttpx.AsyncClientc                C  r"   r   r   )r   r%   r&   r   r   r   r#   7   r$   N)openai_clientr(   AsyncOpenAI | Nonec                C  r"   r   r   )r   r(   r   r   r   r#   :   r$   )r%   r(   r&   
str | Nonehttpx.AsyncClient | Nonec                C  sr   |pt d}|s|d u rtd|d ur|| _d S |d ur)t| j||d| _d S tdd}t| j||d| _d S )NDEEPSEEK_API_KEYz{Set the `DEEPSEEK_API_KEY` environment variable or pass it via `DeepSeekProvider(api_key=...)`to use the DeepSeek provider.)r   r%   r&   r   )provider)osgetenvr   r   r   r   r   )r   r%   r(   r&   r   r   r   r#   =   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(   r)   r&   r+   r   r!   )__name__
__module____qualname____doc__propertyr   r   r   r    r   r#   r   r   r   r   r      s*    
	r   )
__future__r   _annotationsr.   typingr   httpxopenair   pydantic_air   pydantic_ai.exceptionsr   pydantic_ai.modelsr   pydantic_ai.profiles.deepseekr   pydantic_ai.profiles.openair	   r
   pydantic_ai.providersr   ImportError_import_errorr   r   r   r   r   <module>   s,    