Providers¶
Base Provider¶
Base provider interface.
All provider adapters must implement this interface.
- class agent.providers.base.BaseProvider(api_key=None, base_url=None, timeout=120.0, max_retries=2, **kwargs)[source]¶
Bases:
ABCBase class for all provider adapters.
Each provider must implement the core methods to handle request conversion, response normalization, and streaming.
- Parameters:
- capabilities: ProviderCapabilities = ProviderCapabilities(streaming=True, tools=True, structured_output=True, json_mode=True, vision=False, system_messages=True, batch=False, native_schema_output=False, max_context_tokens=None, max_output_tokens=None)¶
- abstractmethod run(request)[source]¶
Execute a synchronous request.
- Parameters:
request (
AgentRequest) – Normalized agent request- Return type:
- Returns:
Normalized agent response
- abstractmethod async run_async(request)[source]¶
Execute an asynchronous request.
- Parameters:
request (
AgentRequest) – Normalized agent request- Return type:
- Returns:
Normalized agent response
- abstractmethod stream(request)[source]¶
Execute a streaming request.
- Parameters:
request (
AgentRequest) – Normalized agent request- Yields:
Normalized stream events
- Return type:
- abstractmethod stream_async(request)[source]¶
Execute an asynchronous streaming request.
Subclasses implement this as an async generator (
async defwithyield). Callers should iterate withasync for, notawait.- Parameters:
request (
AgentRequest) – Normalized agent request- Yields:
Normalized stream events
- Return type:
Provider Registry¶
Provider registry.
Manages registration and instantiation of provider adapters.
- class agent.providers.registry.ProviderRegistry[source]¶
Bases:
objectRegistry for provider adapters.
- classmethod get_class(name)[source]¶
Get a provider class by name.
- Parameters:
name (
str) – Provider name or alias- Return type:
- Returns:
Provider class
- Raises:
ProviderError – If provider not found
OpenAI¶
OpenAI provider adapter.
Supports OpenAI API and compatible endpoints.
- class agent.providers.openai.OpenAIProvider(api_key=None, base_url=None, timeout=120.0, max_retries=2, **kwargs)[source]¶
Bases:
BaseProviderOpenAI provider adapter.
Supports GPT-4, GPT-4o, GPT-3.5-turbo and other OpenAI models. Also works with OpenAI-compatible APIs.
- Parameters:
- capabilities: ProviderCapabilities = ProviderCapabilities(streaming=True, tools=True, structured_output=True, json_mode=True, vision=True, system_messages=True, batch=True, native_schema_output=True, max_context_tokens=None, max_output_tokens=None)¶
- run(request)[source]¶
Execute a synchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- async run_async(request)[source]¶
Execute an asynchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- stream(request)[source]¶
Execute a streaming request.
- Parameters:
request (
AgentRequest)- Return type:
- async stream_async(request)[source]¶
Execute an async streaming request.
- Parameters:
request (
AgentRequest)- Return type:
Anthropic¶
Gemini¶
Google Gemini provider adapter.
- class agent.providers.gemini.GeminiProvider(api_key=None, base_url=None, timeout=120.0, max_retries=2, **kwargs)[source]¶
Bases:
BaseProviderGoogle Gemini provider adapter.
Supports Gemini Pro, Gemini Flash, and other Gemini models.
- Parameters:
- capabilities: ProviderCapabilities = ProviderCapabilities(streaming=True, tools=True, structured_output=True, json_mode=True, vision=True, system_messages=True, batch=False, native_schema_output=True, max_context_tokens=None, max_output_tokens=None)¶
- run(request)[source]¶
Execute a synchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- async run_async(request)[source]¶
Execute an asynchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- stream(request)[source]¶
Execute a streaming request.
- Parameters:
request (
AgentRequest)- Return type:
- async stream_async(request)[source]¶
Execute an async streaming request.
- Parameters:
request (
AgentRequest)- Return type:
DeepSeek¶
DeepSeek provider adapter.
Uses OpenAI-compatible API.
- class agent.providers.deepseek.DeepSeekProvider(api_key=None, base_url=None, timeout=120.0, max_retries=2, **kwargs)[source]¶
Bases:
BaseProviderDeepSeek provider adapter.
Uses the OpenAI-compatible API with DeepSeek’s endpoint.
- Parameters:
- capabilities: ProviderCapabilities = ProviderCapabilities(streaming=True, tools=True, structured_output=True, json_mode=True, vision=False, system_messages=True, batch=False, native_schema_output=False, max_context_tokens=None, max_output_tokens=None)¶
- DEEPSEEK_BASE_URL = 'https://api.deepseek.com/v1'¶
- run(request)[source]¶
Execute a synchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- async run_async(request)[source]¶
Execute an asynchronous request.
- Parameters:
request (
AgentRequest)- Return type:
- stream(request)[source]¶
Execute a streaming request.
- Parameters:
request (
AgentRequest)- Return type:
- async stream_async(request)[source]¶
Execute an async streaming request.
- Parameters:
request (
AgentRequest)- Return type: