Nothing
## ----setup, include = FALSE---------------------------------------------------
# The Azure-backed example on this page runs against recorded, credential-free
# fixtures (recorded once with data-raw/record-doc-outputs.R and committed under
# vignettes/foundryr-vs-ellmer/). The ellmer -> foundryR schema conversion is a
# pure-local call and always runs when ellmer is installed, so its real output is
# shown everywhere. Nothing here is fabricated.
fixture_dir <- "foundryr-vs-ellmer"
recording <- nzchar(Sys.getenv("FOUNDRY_RECORD_DOCS"))
have_fixtures <- dir.exists(fixture_dir) && length(list.files(fixture_dir)) > 0
run_api <- requireNamespace("httptest2", quietly = TRUE) &&
(recording || have_fixtures)
have_ellmer <- requireNamespace("ellmer", quietly = TRUE)
# Attach foundryR before start_vignette(): httptest2 only sources the package's
# inst/httptest2/start-vignette.R (which sets replay placeholders) from attached
# packages.
library(foundryR)
if (run_api) {
httptest2::start_vignette(fixture_dir)
}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = run_api
)
## ----library, eval = TRUE-----------------------------------------------------
library(foundryR)
## ----ellmer-interop, eval = have_ellmer---------------------------------------
library(ellmer)
# Describe the structure you want with ellmer's type system.
sentiment_spec <- type_object(
sentiment = type_enum(
c("positive", "negative", "neutral"),
description = "Overall sentiment of the response."
),
theme = type_string("A short theme label for the response.")
)
# Convert it into a foundryR schema for strict extraction.
sentiment_schema <- as_foundry_schema(sentiment_spec)
str(sentiment_schema)
## ----extraction-example, eval = run_api && have_ellmer------------------------
foundry_extract(
c("The lesson was clear.", "I wanted more examples."),
schema = sentiment_schema
)
## ----cleanup, include = FALSE-------------------------------------------------
if (run_api) {
httptest2::end_vignette()
}
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.