Nothing
test_that("can create prompt_wrap", {
prompt <- prompt_wrap("aaa", modify_fn = \(x) "bbb")
expect_s3_class(prompt, "Tidyprompt")
})
test_that("can add prompt wraps of all types and they are ordered correctly", {
prompt <- "Test prompt" |>
prompt_wrap(extraction_fn = \(x) x, type = "unspecified") |>
prompt_wrap(extraction_fn = \(x) x, type = "mode") |>
prompt_wrap(modify_fn = \(x) x, type = "tool") |>
prompt_wrap(modify_fn = \(x) x, type = "break") |>
prompt_wrap(validation_fn = \(x) x, type = "check")
wraps_mod <- prompt$get_prompt_wraps(order = "modification")
types_in_order_mod <- sapply(wraps_mod, function(x) x$type)
expect_equal(types_in_order_mod, c("check", "unspecified", "break", "mode", "tool"))
wraps_eval <- prompt$get_prompt_wraps(order = "evaluation")
types_in_order_eval <- sapply(wraps_eval, function(x) x$type)
expect_equal(types_in_order_eval, c("tool", "mode", "break", "unspecified", "check"))
})
test_that("handler fn works", {
fake <- llm_provider_fake()
result <- "Hi" |>
prompt_wrap(
handler_fn = function(response, llm_provider) {
if (!inherits(llm_provider, "LlmProvider")) {
stop("llm_provider passed by handler_fn is not an LlmProvider")
}
response$completed$content[nrow(response$completed)] <- "beepido boop ba"
return(response)
}
) |>
send_prompt(fake)
expect_identical(result, "beepido boop ba")
})
test_that("parameter_fn throws no error", {
fake <- llm_provider_fake()
expect_no_error("Hi" |>
prompt_wrap(
parameter_fn = function(llm_provider) {
if (!inherits(llm_provider, "LlmProvider")) {
stop("llm_provider passed by parameter_fn is not an LlmProvider")
}
return(list(
beep = "boop"
))
}
) |>
send_prompt(fake)
)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.