This function allows the creation of a new LLMMessage object or the updating of an existing one. It can handle the addition of text prompts and various media types such as images, PDFs, text files, or plots. The function includes input validation to ensure that all provided parameters are in the correct format.
llm_message(
.llm = NULL,
.prompt = NULL,
.role = "user",
.system_prompt = "You are a helpful assistant",
.imagefile = NULL,
.pdf = NULL,
.textfile = NULL,
.capture_plot = FALSE,
.f = NULL
)
Returns an updated or new LLMMessage object.
An existing LLMMessage object or an initial text prompt.
Text prompt to add to the message history.
The role of the message sender, typically "user" or "assistant".
Default system prompt if a new LLMMessage needs to be created.
Path to an image file to be attached (optional).
Path to a PDF file to be attached (optional). Can be a character vector of length one (file path), or a list with filename
, start_page
, and end_page
.
Path to a text file to be read and attached (optional).
Boolean to indicate whether a plot should be captured and attached as an image (optional).
An R function or an object coercible to a function via rlang::as_function
, whose output should be captured and attached (optional).