Provider class for OpenAI. Can create language and embedding models.
Methods
Method new()
Initialize the OpenAI provider.
Usage
OpenAIProvider$new(
api_key = NULL,
base_url = NULL,
organization = NULL,
project = NULL,
headers = NULL,
name = NULL,
disable_stream_options = FALSE
)Arguments
api_keyOpenAI API key. Defaults to OPENAI_API_KEY env var.
base_urlBase URL for API calls. Defaults to https://api.openai.com/v1.
organizationOptional OpenAI organization ID.
projectOptional OpenAI project ID.
headersOptional additional headers.
nameOptional provider name override (for compatible APIs).
disable_stream_optionsDisable stream_options parameter (for providers that don't support it).
Method language_model()
Create a language model.
Usage
OpenAIProvider$language_model(model_id = Sys.getenv("OPENAI_MODEL", "gpt-4o"))Method responses_model()
Create a language model using the Responses API.
Details
The Responses API is designed for:
Models with built-in reasoning (o1, o3 series)
Stateful multi-turn conversations (server maintains history)
Advanced features like structured outputs
The model maintains conversation state internally via response IDs.
Call model$reset() to start a fresh conversation.
Method smart_model()
Smart model factory that automatically selects the best API.
Usage
OpenAIProvider$smart_model(
model_id,
api_format = c("auto", "chat", "responses")
)Arguments
model_idThe model ID.
api_formatAPI format to use: "auto" (default), "chat", or "responses".