The Azure OpenAI server hosts a number of open source models as well as proprietary models from OpenAI.
chat_azure_openai()
supports API keys and the credentials
parameter, but
it also makes use of:
Azure service principals (when the AZURE_TENANT_ID
, AZURE_CLIENT_ID
,
and AZURE_CLIENT_SECRET
environment variables are set).
Interactive Entra ID authentication, like the Azure CLI.
Viewer-based credentials on Posit Connect. Requires the connectcreds package.
chat_azure_openai(
endpoint = azure_endpoint(),
deployment_id,
params = NULL,
api_version = NULL,
system_prompt = NULL,
api_key = NULL,
token = deprecated(),
credentials = NULL,
api_args = list(),
echo = c("none", "output", "all")
)
Azure OpenAI endpoint url with protocol and hostname, i.e.
https://{your-resource-name}.openai.azure.com
. Defaults to using the
value of the AZURE_OPENAI_ENDPOINT
envinronment variable.
Deployment id for the model you want to use.
Common model parameters, usually created by params()
.
The API version to use.
A system prompt to set the behavior of the assistant.
API key to use for authentication.
You generally should not supply this directly, but instead set the AZURE_OPENAI_API_KEY
environment variable.
The best place to set this is in .Renviron
,
which you can easily edit by calling usethis::edit_r_environ()
.
A literal Azure token to use
for authentication. Deprecated in favour of ambient Azure credentials or
an explicit
credentials
argument.
A list of authentication headers to pass into
httr2::req_headers()
, a function that returns them, or NULL
to use
token
or api_key
to generate these headers instead. This is an escape
hatch that allows users to incorporate Azure credentials generated by other
packages into ellmer, or to manage the lifetime of credentials that
need to be refreshed.
Named list of arbitrary extra arguments appended to the body
of every chat API call. Combined with the body object generated by ellmer
with modifyList()
.
One of the following options:
none
: don't emit any output (default when running in a function).
text
: echo text output as it streams in (default when running at
the console).
all
: echo all input and output.
Note this only affects the chat()
method.
A Chat object.
Other chatbots:
chat_anthropic()
,
chat_aws_bedrock()
,
chat_cloudflare()
,
chat_cortex_analyst()
,
chat_databricks()
,
chat_deepseek()
,
chat_github()
,
chat_google_gemini()
,
chat_groq()
,
chat_huggingface()
,
chat_mistral()
,
chat_ollama()
,
chat_openai()
,
chat_openrouter()
,
chat_perplexity()
,
chat_portkey()
if (FALSE) { # \dontrun{
chat <- chat_azure_openai(deployment_id = "gpt-4o-mini")
chat$chat("Tell me three jokes about statisticians")
} # }