praval.providers.openai
OpenAI provider implementation for Praval framework.
Provides integration with OpenAI’s Chat Completions API with support for conversation history, tool calling, and streaming responses.
Classes
|
OpenAI provider for LLM interactions. |
- class praval.providers.openai.OpenAIProvider(config)[source]
Bases:
objectOpenAI provider for LLM interactions.
Handles communication with OpenAI’s GPT models through the Chat Completions API with support for tools and conversation history.
- provider_name = 'openai'
- capabilities = ProviderCapabilities(text=True, chat_completions=True, responses_api=True, tools=True, streaming=True, native_streaming=True, tool_streaming=True, structured_outputs=True, json_schema_mode='json_schema', multimodal=True, image_input=True, file_input=False, audio_input=False, video_input=False, audio_transcription=True, speech_generation=True, reasoning=True, reasoning_effort=True, reasoning_budget=False, embeddings=True, local=False, server_tools=False, mcp=False, computer_use=False)
- __init__(config)[source]
Initialize OpenAI provider.
- Parameters:
config – AgentConfig object with provider settings
- Raises:
ProviderError – If OpenAI client initialization fails
- generate(messages, tools=None, *args, **kwargs)
- invoke(request, tools=None)[source]
Invoke OpenAI through the provider-neutral adapter surface.
- Return type:
- Parameters:
request (ModelRequest)
tools (List[Dict[str, Any]] | None)
- stream(request, tools=None)[source]
Stream OpenAI responses as provider-neutral events.
- Return type:
Iterator[ModelEvent]- Parameters:
request (ModelRequest)
tools (List[Dict[str, Any]] | None)
- transcribe(request)[source]
Transcribe request-based audio through OpenAI’s audio endpoint.
- Return type:
- Parameters:
request (TranscriptionRequest)
- speak(request)[source]
Synthesize request-based speech through OpenAI’s audio endpoint.
- Return type:
- Parameters:
request (SpeechRequest)
- continue_with_tool_results(request, response, tool_results)[source]
Submit runtime-executed client tool results to OpenAI.
- Return type:
- Parameters:
request (ModelRequest)
response (ModelResponse)
tool_results (List[ToolResult])