Google's AI offering is broken up into two parts: Gemini and Vertex AI. Most enterprises are likely to use Vertex AI, and individuals are likely to use Gemini.
Use google_upload()
to upload files (PDFs, images, video, audio, etc.)
chat_google_gemini(
system_prompt = NULL,
base_url = "https://generativelanguage.googleapis.com/v1beta/",
api_key = NULL,
model = NULL,
params = NULL,
api_args = list(),
echo = NULL
)
chat_google_vertex(
location,
project_id,
system_prompt = NULL,
model = NULL,
params = NULL,
api_args = list(),
echo = NULL
)
models_google_gemini(
base_url = "https://generativelanguage.googleapis.com/v1beta/",
api_key = NULL
)
models_google_vertex(location, project_id)
A system prompt to set the behavior of the assistant.
The base URL to the endpoint; the default uses OpenAI.
API key to use for authentication.
You generally should not supply this directly, but instead set the GOOGLE_API_KEY
environment variable.
The best place to set this is in .Renviron
,
which you can easily edit by calling usethis::edit_r_environ()
.
For Gemini, you can alternatively set GEMINI_API_KEY
.
The model to use for the chat (defaults to "gemini-2.0-flash").
We regularly update the default, so we strongly recommend explicitly specifying a model for anything other than casual use.
Use models_google_gemini()
to see all options.
Common model parameters, usually created by params()
.
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.
Location, e.g. us-east1
, me-central1
, africa-south1
.
Project ID.
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_groq()
,
chat_huggingface()
,
chat_mistral()
,
chat_ollama()
,
chat_openai()
,
chat_openrouter()
,
chat_perplexity()
,
chat_portkey()
if (FALSE) { # \dontrun{
chat <- chat_google_gemini()
chat$chat("Tell me three jokes about statisticians")
} # }