Make LLM answer as a number (between min and max)
Source:R/answer_as_numeric.R
answer_as_numeric.RdMake LLM answer as a number (between min and max)
Arguments
- prompt
A single string or a
tidyprompt()object- min
(optional) Minimum value for the number
- max
(optional) Maximum value for the number
- add_instruction_to_prompt
(optional) Add instruction for replying as a number 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 a number.
See also
Other pre_built_prompt_wraps:
add_image(),
add_text(),
answer_as_boolean(),
answer_as_category(),
answer_as_dataframe(),
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_category(),
answer_as_dataframe(),
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
if (FALSE) { # \dontrun{
"What is 10 divided by 4?" |>
answer_as_numeric() |>
send_prompt()
# --- Sending request to LLM provider (llama3.1:8b): ---
# What is 10 divided by 4?
#
# You must answer with only a number (use no other characters).
# --- Receiving response from LLM provider: ---
# 2.5
# [1] 2.5
} # }