Skip to contents

Make LLM answer as an integer (between min and max)

Usage

answer_as_integer(
  prompt,
  min = NULL,
  max = NULL,
  add_instruction_to_prompt = TRUE
)

Arguments

prompt

A single string or a tidyprompt() object

min

(optional) Minimum value for the integer

max

(optional) Maximum value for the integer

add_instruction_to_prompt

(optional) Add instruction for replying as an integer to the prompt text. Set to FALSE for debugging if extractions/validations are working as expected (without instruction the answer should fail the validation function, initiating a retry)

Value

A tidyprompt() with an added prompt_wrap() which will ensure that the LLM response is an integer.

Examples

if (FALSE) { # \dontrun{
  "What is 5 + 5?" |>
    answer_as_integer() |>
    send_prompt(llm_provider_ollama())
  # --- Sending request to LLM provider (llama3.1:8b): ---
  #   What is 5 + 5?
  #
  #   You must answer with only an integer (use no other characters).
  # --- Receiving response from LLM provider: ---
  #   10
  # [1] 10
} # }