% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/api_azure_openai.R
\name{send_azure_openai_batch}
\alias{send_azure_openai_batch}
\title{Send a Batch of Messages to Azure OpenAI Batch API}
\usage{
send_azure_openai_batch(
  .llms,
  .endpoint_url = Sys.getenv("AZURE_ENDPOINT_URL"),
  .deployment = "gpt-4o-mini",
  .api_version = "2024-10-01-preview",
  .max_completion_tokens = NULL,
  .reasoning_effort = NULL,
  .frequency_penalty = NULL,
  .logit_bias = NULL,
  .presence_penalty = NULL,
  .seed = NULL,
  .stop = NULL,
  .temperature = NULL,
  .top_p = NULL,
  .logprobs = NULL,
  .top_logprobs = NULL,
  .dry_run = FALSE,
  .overwrite = FALSE,
  .max_tries = 3,
  .timeout = 60,
  .verbose = FALSE,
  .json_schema = NULL,
  .id_prefix = "tidyllm_azure_openai_req_"
)
}
\arguments{
\item{.llms}{A list of LLMMessage objects containing conversation histories.}

\item{.endpoint_url}{Base URL for the API (default: Sys.getenv("AZURE_ENDPOINT_URL")).}

\item{.deployment}{The identifier of the model that is deployed (default: "gpt-4o-mini").}

\item{.api_version}{Which version of the API is deployed (default: "2024-10-01-preview")}

\item{.max_completion_tokens}{Integer specifying the maximum tokens per response (default: NULL).}

\item{.reasoning_effort}{How long should reasoning models reason (can either be "low","medium" or "high")}

\item{.frequency_penalty}{Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency.}

\item{.logit_bias}{A named list modifying the likelihood of specified tokens appearing in the completion.}

\item{.presence_penalty}{Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far.}

\item{.seed}{If specified, the system will make a best effort to sample deterministically.}

\item{.stop}{Up to 4 sequences where the API will stop generating further tokens.}

\item{.temperature}{What sampling temperature to use, between 0 and 2. Higher values make the output more random.}

\item{.top_p}{An alternative to sampling with temperature, called nucleus sampling.}

\item{.logprobs}{If TRUE, get the log probabilities of each output token (default: NULL).}

\item{.top_logprobs}{If specified, get the top N log probabilities of each output token (0-5, default: NULL).}

\item{.dry_run}{Logical; if TRUE, returns the prepared request object without executing it (default: FALSE).}

\item{.overwrite}{Logical; if TRUE, allows overwriting an existing batch ID (default: FALSE).}

\item{.max_tries}{Maximum number of retries to perform the request (default: 3).}

\item{.timeout}{Integer specifying the request timeout in seconds (default: 60).}

\item{.verbose}{Logical; if TRUE, additional info about the requests is printed (default: FALSE).}

\item{.json_schema}{A JSON schema object provided by tidyllm schema or ellmer schemata (default: NULL).}

\item{.id_prefix}{Character string to specify a prefix for generating custom IDs when names in \code{.llms} are missing (default: "tidyllm_azure_openai_req_").}
}
\value{
An updated and named list of \code{.llms} with identifiers that align with batch responses, including a \code{batch_id} attribute.
}
\description{
This function creates and submits a batch of messages to the Azure OpenAI Batch API for asynchronous processing.
}
