Learn R Programming

tidyprompt (version 0.1.0)

answer_as_category: Make LLM answer as a category For multiple categories, see answer_as_multi_category()

Description

Make LLM answer as a category For multiple categories, see answer_as_multi_category()

Usage

answer_as_category(prompt, categories, descriptions = NULL)

Value

A tidyprompt() with an added prompt_wrap() which will ensure that the LLM response is the most fitting category of a text as a character vector of length one

Arguments

prompt

A single string or a tidyprompt() object

categories

A character vector of category names. Must not be empty and must not contain duplicates

descriptions

An optional character vector of descriptions, corresponding to each category. If provided, its length must match the length of categories. Defaults to NULL

See Also

Other pre_built_prompt_wraps: add_text(), answer_as_boolean(), answer_as_integer(), answer_as_json(), answer_as_list(), answer_as_multi_category(), answer_as_named_list(), answer_as_regex_match(), answer_as_text(), answer_by_chain_of_thought(), answer_by_react(), answer_using_r(), answer_using_sql(), answer_using_tools(), prompt_wrap(), quit_if(), set_system_prompt()

Other answer_as_prompt_wraps: answer_as_boolean(), answer_as_integer(), answer_as_json(), answer_as_list(), answer_as_multi_category(), answer_as_named_list(), answer_as_regex_match(), answer_as_text()

Examples

Run this code
if (FALSE) {
  "It is sunny, that makes me happy." |>
    answer_as_category(categories = c("environment", "weather", "work")) |>
    send_prompt()
  # --- Sending request to LLM provider (llama3.1:8b): ---
  #   You need to categorize a text.
  #
  # Text:
  #   'It is sunny, that makes me happy.'
  #
  # Possible categories:
  #   1. environment
  #   2. weather
  #   3. work
  #
  # Respond with the number of the category that best describes the text.
  # (Use no other words or characters.)
  # --- Receiving response from LLM provider: ---
  #   2
  # [1] "weather"
}

Run the code above in your browser using DataLab