| vetiver_api | R Documentation |
vetiver_model() objectUse vetiver_api() to add a POST endpoint for predictions from a
trained vetiver_model() to a Plumber router.
vetiver_api(
pr,
vetiver_model,
path = "/predict",
debug = is_interactive(),
...
)
vetiver_pr_post(
pr,
vetiver_model,
path = "/predict",
debug = is_interactive(),
...,
check_prototype = TRUE,
check_ptype = deprecated()
)
vetiver_pr_docs(pr, vetiver_model, path = "/predict", all_docs = TRUE)
pr |
A Plumber router, such as from |
vetiver_model |
A deployable |
path |
The endpoint path |
debug |
|
... |
Other arguments passed to |
check_prototype |
Should the input data prototype stored in
|
check_ptype |
|
all_docs |
Should the interactive visual API documentation be created
for all POST endpoints in the router |
You can first store and version your vetiver_model() with
vetiver_pin_write(), and then create an API endpoint with vetiver_api().
Setting debug = TRUE may expose any sensitive data from your model in
API errors.
Several GET endpoints will also be added to the router pr, depending on the
characteristics of the model object:
a /pin-url endpoint to return the URL of the pinned model
a /metadata endpoint to return any metadata stored with the model
a /ping endpoint for the API health
a /prototype endpoint for the model's input data prototype (use
cereal::cereal_from_json()) to convert this back to a vctrs ptype
The function vetiver_api() uses:
vetiver_pr_post() for endpoint definition and
vetiver_pr_docs() to create visual API documentation
These modular functions are available for more advanced use cases.
A Plumber router with the prediction endpoint added.
cars_lm <- lm(mpg ~ ., data = mtcars)
v <- vetiver_model(cars_lm, "cars_linear")
library(plumber)
pr() |> vetiver_api(v)
## is the same as:
pr() |> vetiver_pr_post(v) |> vetiver_pr_docs(v)
## for either, next, pipe to `pr_run()`
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.