Lifecycle changes
-
option(ellmer_verbosity)
is no longer supported; instead use the standard
httr2 verbosity functions, such ashttr2::with_verbosity()
; these now
support streaming data. -
chat_cortex()
has been renamedchat_cortex_analyst()
to better
disambiguate it fromchat_snowflake()
(which also uses "Cortex")
(#275, @atheriel).
New features
-
All providers now wait for up to 60s to get the complete response. You can
increase this with, e.g.,option(ellmer_timeout_s = 120)
(#213, #300). -
chat_azure()
,chat_databricks()
,chat_snowflake()
, and
chat_cortex_analyst()
now detect viewer-based credentials when running on
Posit Connect (#285, @atheriel). -
chat_deepseek()
provides support for DeepSeek models (#242). -
chat_openrouter()
provides support for models hosted by OpenRouter (#212). -
chat_snowflake()
allows chatting with models hosted through Snowflake's
Cortex LLM REST API
(#258, @atheriel). -
content_pdf_file()
andcontent_pdf_url()
allow you to upload PDFs to
supported models. Models that currently support PDFs are Google Gemini and
Claude Anthropic. With help from @walkerke and @andrie (#265).
Bug fixes and minor improvements
-
Chat$get_model()
returns the model name (#299). -
chat_azure()
has greatly improved support for Azure Entra ID. API keys are
now optional and we can pick up on ambient credentials from Azure service
principals or attempt to use interactive Entra ID authentication when
possible. The broken-by-designtoken
argument has been deprecated (it
could not handle refreshing tokens properly), but a newcredentials
argument can be used for custom Entra ID support when needed instead
(for instance, if you're trying to use tokens generated by theAzureAuth
package) (#248, #263, #273, #257, @atheriel). -
chat_azure()
now reports better error messages when the underlying HTTP
requests fail (#269, @atheriel). It now also defaults to
api_version = "2024-10-21"
which includes data for structured data
extraction (#271). -
chat_bedrock()
now handles temporary IAM credentials better
(#261, @atheriel) andchat_bedrock()
gainsapi_args
argument (@billsanto, #295). -
chat_databricks()
now handles theDATABRICKS_HOST
environment variable
correctly whether it includes an HTTPS prefix or not (#252, @atheriel).
It also respects theSPARK_CONNECT_USER_AGENT
environment variable when
making requests (#254, @atheriel). -
chat_gemini()
now defaults to using the gemini-2.0-flash model. -
print(Chat)
no longer wraps long lines, making it easier to read code
and bulleted lists (#246).