R/provider-huggingface.r
chat_huggingface.Rd
Hugging Face hosts a variety of open-source and proprietary AI models available via their Inference API. To use the Hugging Face API, you must have an Access Token, which you can obtain from your Hugging Face account (ensure that at least "Make calls to Inference Providers" and "Make calls to your Inference Endpoints" is checked).
This function is a lightweight wrapper around chat_openai()
, with
the defaults adjusted for Hugging Face.
Parameter support is hit or miss.
Tool calling is currently broken in the API.
While images are technically supported, I couldn't find any models that returned useful respones.
Some models do not support the chat interface or parts of it, for example
google/gemma-2-2b-it
does not support a system prompt. You will need to
carefully choose the model.
So overall, not something we could recommend at the moment.
chat_huggingface(
system_prompt = NULL,
params = NULL,
api_key = hf_key(),
model = NULL,
api_args = list(),
echo = NULL
)
A system prompt to set the behavior of the assistant.
Common model parameters, usually created by params()
.
The API key to use for authentication. You generally should
not supply this directly, but instead set the HUGGINGFACE_API_KEY
environment
variable.
The model to use for the chat (defaults to "meta-llama/Llama-3.1-8B-Instruct"). We regularly update the default, so we strongly recommend explicitly specifying a model for anything other than casual use.
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_azure_openai()
,
chat_cloudflare()
,
chat_cortex_analyst()
,
chat_databricks()
,
chat_deepseek()
,
chat_github()
,
chat_google_gemini()
,
chat_groq()
,
chat_mistral()
,
chat_ollama()
,
chat_openai()
,
chat_openrouter()
,
chat_perplexity()
,
chat_portkey()
if (FALSE) { # \dontrun{
chat <- chat_huggingface()
chat$chat("Tell me three jokes about statisticians")
} # }