Skip to content

Use vetiver_deploy_sagemaker() to deploy a vetiver_model() that has been versioned and stored via vetiver_pin_write() as a Plumber API on Amazon SageMaker.

Usage

vetiver_deploy_sagemaker(
  board,
  name,
  instance_type,
  ...,
  predict_args = list(),
  docker_args = list(),
  build_args = list(),
  endpoint_args = list(),
  repo_name = glue("vetiver-sagemaker-{name}")
)

Arguments

board

A pin board, created by board_folder(), board_connect(), board_url() or another board_ function.

name

Pin name.

instance_type

Type of EC2 instance to use; see Amazon SageMaker pricing.

...

Not currently used.

predict_args

A list of optional arguments passed to vetiver_api() such as the prediction type.

docker_args

A list of optional arguments passed to vetiver_write_docker() such as the lockfile name or whether to use rspm. Do not pass additional_pkgs here, as this function uses additional_pkgs = required_pkgs(board).

build_args

A list of optional arguments passed to vetiver_sm_build() such as the model version or the compute_type.

endpoint_args

A list of optional arguments passed to vetiver_sm_endpoint() such as accelerator_type or data_capture_config.

repo_name

The name for the AWS ECR repository to store the model.

Value

The deployed vetiver_endpoint_sagemaker().

Details

This function stores your model deployment image in the same bucket used by board.

The function vetiver_deploy_sagemaker() uses:

These modular functions are available for more advanced use cases.

Examples

if (FALSE) {
library(pins)
b <- board_s3(bucket = "my-existing-bucket")
cars_lm <- lm(mpg ~ ., data = mtcars)
v <- vetiver_model(cars_lm, "cars_linear")
vetiver_pin_write(b, v)

endpoint <- vetiver_deploy_sagemaker(
    board = b,
    name = "cars_linear",
    instance_type = "ml.t2.medium",
    predict_args = list(type = "class", debug = TRUE)
)
}