This function sends a message history to the OpenAI Chat Completions API and returns the assistant's reply.
openai_chat(
.llm,
.model = "gpt-4o",
.max_completion_tokens = NULL,
.reasoning_effort = NULL,
.frequency_penalty = NULL,
.logit_bias = NULL,
.presence_penalty = NULL,
.seed = NULL,
.stop = NULL,
.stream = FALSE,
.temperature = NULL,
.top_p = NULL,
.api_url = "https://api.openai.com/",
.timeout = 60,
.verbose = FALSE,
.json_schema = NULL,
.max_tries = 3,
.dry_run = FALSE,
.compatible = FALSE,
.api_path = "/v1/chat/completions",
.logprobs = NULL,
.top_logprobs = NULL,
.tools = NULL,
.tool_choice = NULL
)
A new LLMMessage
object containing the original messages plus the assistant's response.
An LLMMessage
object containing the conversation history.
The identifier of the model to use (default: "gpt-4o").
An upper bound for the number of tokens that can be generated for a completion.
How long should reasoning models reason (can either be "low","medium" or "high")
Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency.
A named list modifying the likelihood of specified tokens appearing in the completion.
Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.
If specified, the system will make a best effort to sample deterministically.
Up to 4 sequences where the API will stop generating further tokens.
If set to TRUE, the answer will be streamed to console as it comes (default: FALSE).
What sampling temperature to use, between 0 and 2. Higher values make the output more random.
An alternative to sampling with temperature, called nucleus sampling.
Base URL for the API (default: "https://api.openai.com/").
Request timeout in seconds (default: 60).
Should additional information be shown after the API call (default: FALSE).
A JSON schema object provided by tidyllm schema or ellmer schemata.
Maximum retries to perform request
If TRUE, perform a dry run and return the request object (default: FALSE).
If TRUE, skip API and rate-limit checks for OpenAI compatible APIs (default: FALSE).
The path relative to the base .api_url
for the API (default: "/v1/chat/completions").
If TRUE, get the log probabilities of each output token (default: NULL).
If specified, get the top N log probabilities of each output token (0-5, default: NULL).
Either a single TOOL object or a list of TOOL objects representing the available functions for tool calls.
A character string specifying the tool-calling behavior; valid values are "none", "auto", or "required".