These functions are used to prepare image URLs and files for input to the
chatbot. The content_image_url()
function is used to provide a URL to an
image, while content_image_file()
is used to provide the image data itself.
content_image_url(url, detail = c("auto", "low", "high"))
content_image_file(path, content_type = "auto", resize = "low")
content_image_plot(width = 768, height = 768)
The URL of the image to include in the chat input. Can be a
data:
URL or a regular URL. Valid image types are PNG, JPEG, WebP, and
non-animated GIF.
The detail setting
for this image. Can be "auto"
, "low"
, or "high"
.
The path to the image file to include in the chat input. Valid
file extensions are .png
, .jpeg
, .jpg
, .webp
, and (non-animated)
.gif
.
The content type of the image (e.g. image/png
). If
"auto"
, the content type is inferred from the file extension.
If "low"
, resize images to fit within 512x512. If "high"
,
resize to fit within 2000x768 or 768x2000. (See the OpenAI docs
for more on why these specific sizes are used.) If "none"
, do not resize.
You can also pass a custom string to resize the image to a specific size,
e.g. "200x200"
to resize to 200x200 pixels while preserving aspect ratio.
Append >
to resize only if the image is larger than the specified size,
and !
to ignore aspect ratio (e.g. "300x200>!"
).
All values other than none
require the magick
package.
Width and height in pixels.
An input object suitable for including in the ...
parameter of
the chat()
, stream()
, chat_async()
, or stream_async()
methods.
if (FALSE) { # has_credentials("openai")
chat <- chat_openai(echo = TRUE)
chat$chat(
"What do you see in these images?",
content_image_url("https://www.r-project.org/Rlogo.png"),
content_image_file(system.file("httr2.png", package = "ellmer"))
)
DONTSHOW({dev.control('enable')})
plot(waiting ~ eruptions, data = faithful)
chat <- chat_openai(echo = TRUE)
chat$chat(
"Describe this plot in one paragraph, as suitable for inclusion in
alt-text. You should briefly describe the plot type, the axes, and
2-5 major visual patterns.",
content_image_plot()
)
}