BentoML CLI¶
BentoML CLI 命令有使用文档。你可以通过运行 bentoml --help
来了解更多。 --help
标志也适用于子命令,用于查看命令的详细用法,例如 bentoml build --help
。
另请参阅
有关使用 BentoML CLI 管理 BentoCloud 部署的详情,请参阅 BentoCloud CLI。
bentoml¶
管理 Bento 包的命令。
bentoml [OPTIONS] COMMAND [ARGS]...
build¶
从当前目录构建新的 Bento。
bentoml build [OPTIONS] [BUILD_CTX]
选项
- -f, --bentofile <bentofile>¶
bentofile 文件的路径。默认为 ‘bentofile.yaml’
- --name <name>¶
Bento 名称
- --version <version>¶
Bento 版本。默认情况下将生成版本。
- --label <KEY=VALUE>¶
(多个)Bento 标签
- -o, --output <output>¶
输出日志格式。使用 ‘-o tag’ 只显示 bento 标签。
- 默认:
‘default’
- 选项:
tag | default
- --containerize¶
是否在构建后将 Bento 容器化。‘–containerize’ 是 ‘bentoml build && bentoml containerize’ 的快捷方式。
- --push¶
是否将结果 bento 推送到 BentoCloud。请确保先使用 ‘bentoml cloud login’ 登录。
- --force¶
强制推送到 BentoCloud
- --threads <threads>¶
上传使用的线程数
- --platform <platform>¶
构建目标平台
- 选项:
windows | linux | macos | x86_64-pc-windows-msvc | i686-pc-windows-msvc | x86_64-unknown-linux-gnu | aarch64-apple-darwin | x86_64-apple-darwin | aarch64-unknown-linux-gnu | aarch64-unknown-linux-musl | x86_64-unknown-linux-musl | x86_64-manylinux_2_17 | x86_64-manylinux_2_28 | x86_64-manylinux_2_31 | x86_64-manylinux_2_32 | x86_64-manylinux_2_33 | x86_64-manylinux_2_34 | x86_64-manylinux_2_35 | x86_64-manylinux_2_36 | x86_64-manylinux_2_37 | x86_64-manylinux_2_38 | x86_64-manylinux_2_39 | x86_64-manylinux_2_40 | aarch64-manylinux_2_17 | aarch64-manylinux_2_28 | aarch64-manylinux_2_31 | aarch64-manylinux_2_32 | aarch64-manylinux_2_33 | aarch64-manylinux_2_34 | aarch64-manylinux_2_35 | aarch64-manylinux_2_36 | aarch64-manylinux_2_37 | aarch64-manylinux_2_38 | aarch64-manylinux_2_39 | aarch64-manylinux_2_40
- --arg <KEY=VALUE>¶
Bento 参数,格式为 key1=value1[,key2=value2…] 对,可指定多次
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BUILD_CTX¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
delete¶
删除本地 bento 存储中的 Bento。
bentoml delete [OPTIONS] DELETE_TARGETS...
选项
- -y, --yes, --assume-yes¶
删除特定 bento 包时跳过确认
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- DELETE_TARGETS¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
export¶
将 Bento 导出到外部文件存档
如果未提供 out_path 参数,bento 将导出到当前目录下的 name-version.bento 文件。除了原生的 .bento 格式外,我们还支持 tar (‘tar’)、tar.gz (‘gz’)、tar.xz (‘xz’)、tar.bz2 (‘bz2’) 和 zip 格式。
bentoml export [OPTIONS] BENTO_TAG [OUT_PATH]
选项
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_TAG¶
必需参数
- OUT_PATH¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
get¶
通过提供 bento_tag 打印 Bento 详情。
bentoml get [OPTIONS] BENTO_TAG
选项
- -o, --output <output>¶
- 选项:
json | yaml | path
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_TAG¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
import¶
导入之前导出的 Bento 存档文件
bentoml import [OPTIONS] BENTO_PATH
选项
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_PATH¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
list¶
列出本地存储中的 Bentos
bentoml list [OPTIONS] [BENTO_NAME]
选项
- -o, --output <output>¶
- 选项:
json | yaml | table
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_NAME¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
pull¶
从远程 Bento 存储服务器拉取 Bento。
bentoml pull [OPTIONS] BENTO_TAG
选项
- -f, --force¶
强制从远程 Bento 存储拉取到本地,如果本地已存在则覆盖
- --with-models¶
也拉取模型
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_TAG¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
push¶
将 Bento 推送到远程 Bento 存储服务器。
bentoml push [OPTIONS] BENTO_TAG
选项
- -f, --force¶
即使远程已存在,也强制推送到远程 Bento 存储
- -t, --threads <threads>¶
上传使用的线程数
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO_TAG¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
bentoml containerize¶
将指定的 Bento 容器化为 OCI 兼容容器,使用任何给定的 OCI 构建器。
BENTO
是要容器化的目标 BentoService,通过名称和版本引用,格式为 name:version。例如:iris_classifier:v1.2.0
bentoml containerize
命令也支持使用 latest
标签--image-tag
标志。$ bentoml containerize iris_classifier:latest -t repo-address.com:username/iris
这将构建一个名为 username/iris:latest
的镜像,并将其推送到 repo-address.com
的 docker 仓库。
containerize
命令将使用各后端实现提供的当前凭据。bentoml containerize
还利用了 BuildKit 的功能,例如多节点DOCKER_BUILDKIT=0
$ DOCKER_BUILDKIT=0 bentoml containerize iris_classifier:latest
bentoml containerize
是后端无关的,这意味着它可以使用任何 OCI 兼容的构建器来构建容器镜像。docker
后端,该后端将使用本地 Docker 守护进程来构建镜像。--backend
标志指定不同的后端。请注意,后端标志现在将通过 --opt
进行统一。--opt
接受多个标志,并且适用于所有后端选项。
--no-cache
),请使用 --opt no-cache
。--build-arg FOO=BAR
),请使用 --opt build-arg=FOO=BAR
或 --opt build-arg:FOO=BAR
。如果值包含空格,请确保引用该值。--cgroup-parent cgroupv2
),请使用 --opt cgroup-parent=cgroupv2
或 --opt cgroup-parent:cgroupv2
。bentoml containerize [OPTIONS] BENTO:TAG
选项
- -t, --image-tag, --docker-image-tag <NAME:TAG>¶
用于构建容器的名称和可选标签(格式:
name:tag
),默认为 bento 标签。
- --backend <backend>¶
定义构建器后端。可用选项:
docker
,nerdctl
,buildctl
,buildx
,podman
,buildah
- --enable-features <FEATURE[,FEATURE>¶
启用额外的 BentoML 功能。可用功能包括:
io-json
,tracing-jaeger
,grpc
,all
,grpc-reflection
,grpc-channelz
,io-image
,tracing-otlp
,io-file
,triton
,io-pandas
,io
,aws
,monitor-otlp
,tracing-zipkin
,tracing
。
- --opt <ARG=VALUE[,ARG=VALUE>¶
定义给定后端的选项。(格式:
--opt target=foo --opt build-arg=foo=BAR --opt iidfile:/path/to/file --opt no-cache
)
- --run-as-root¶
是否以 root 身份运行后端。
- --add-host <HOST:IP,>¶
(等同于
--opt add-host=host:ip
):添加自定义的主机到 IP 映射。
- --build-arg <KEY=VALUE,>¶
(等同于
--opt build-arg=FOO=bar
):设置构建时变量。
- --cache-from <NAME|type=TYPE[,KEY=VALUE>¶
(等同于
--opt cache-from=user/app:cache
):外部缓存源(例如:type=local,src=path/to/dir
)。
- --iidfile <PATH>¶
(等同于
--opt iidfile=/path/to/file
):将镜像 ID 写入文件。
- --label <NAME|[KEY=VALUE],>¶
(等同于
--opt label=io.container.capabilities=baz
):为镜像设置元数据。这等同于给定 Dockerfile 中的 LABEL。
- --network <default|VALUE>¶
(等同于
--opt network=default
):设置构建期间RUN
指令的网络模式(默认default
)。
- --no-cache¶
(等同于
--opt no-cache
):构建镜像时不要使用缓存。
- --output <PATH,-,type=TYPE[,KEY=VALUE>¶
(等同于
--opt output=type=local,dest=/path/to/dir
):输出目标。
- --platform <VALUE[,VALUE>¶
(等同于
--opt platform=linux/amd64,linux/arm/v7
):设置构建的目标平台。
- --progress <VALUE>¶
(等同于
--opt progress=auto
):设置进度输出类型。使用 plain 显示容器输出。- 选项:
auto | tty | plain
- --pull¶
(等同于
--opt pull
):始终尝试拉取所有引用的镜像。
- --secret <type=TYPE[,KEY=VALUE>¶
(等同于
--opt secret=id=aws,src=$HOME/.aws/crendentials
):要向构建暴露的 Secret。
- --ssh <default|<id>[=<socket>|<key>[,<key>¶
(等同于
--opt ssh=default=$SSH_AUTH_SOCK
):要向构建暴露的 SSH 代理 socket 或密钥。请参阅 https://docs.dockerd.com.cn/engine/reference/commandline/buildx_build/#ssh
- --target <VALUE>¶
(等同于
--opt target=release-stage
):设置要构建的目标构建阶段。
- --allow <ENTITLEMENT>¶
(等同于
--opt allow=network.host
):允许额外的特权许可(例如,network.host
,security.insecure
)。
- --attest <NAME|type=TYPE[,KEY=VALUE>¶
(等同于
--opt attest=type=sbom,generator=image
):证明参数(例如,type=local,ref=path/to/dir
)。
- --build-context <name=VALUE>¶
(等同于
--opt build-context=project=path/to/project/source
):其他构建上下文(例如,name=path
)。
- --builder <builder>¶
(等同于
--opt builder=default
):覆盖已配置的构建器实例。同docker buildx --builder
- --cache-to <NAME|type=TYPE[,KEY=VALUE>¶
(等同于
--opt cache-to=type=registry,ref=user/app
):缓存导出目标(例如,user/app:cache
,type=local,dest=path/to/dir
)。
- --load¶
(等同于
--opt load
):--output=type=docker
的简写。请注意--push
和--load
互斥。
- --push¶
(等同于
--opt push
):--output=type=registry
的简写。请注意--push
和--load
互斥。
- --provenance <provenance>¶
(等同于
--opt provenance=generator=image
):--attest=type=provenance
的简写。
- --quiet¶
(等同于
--opt quiet
):抑制构建输出并在成功时打印镜像 ID
- --cgroup-parent <cgroup_parent>¶
(等同于
--opt cgroup-parent=cgroupv2
):容器的可选父 cgroup。
- --ulimit <type>=<soft limit>[:<hard limit>¶
(等同于
--opt ulimit=nofile=1024:1024
):Ulimit 选项。
- --no-cache-filter <no_cache_filter>¶
(等同于
--opt no-cache-filter
):不缓存指定的阶段。
- --metadata-file <metadata_file>¶
(等同于
--opt metadata-file=/path/to/file
):将构建结果元数据写入文件。
- --sbom <sbom>¶
(等同于
--opt sbom=generator=image
):--attest=type=sbom
的简写。
- --shm-size <shm_size>¶
(等同于
--opt shm-size=8192Mb
):/dev/shm
的大小。
参数
- BENTO:TAG¶
必需参数
环境变量
- BENTOML_CONTAINERIZE_BACKEND
提供
--backend
的默认值
bentoml env¶
打印环境信息并退出
bentoml env [OPTIONS]
选项
- -o, --output <output>¶
输出格式。使用 ‘-o bash’ 以不带格式显示。
- 默认:
'md'
- 选项:
md | bash
bentoml models¶
模型子命令组
bentoml models [OPTIONS] COMMAND [ARGS]...
delete¶
删除本地模型仓库中的模型。
bentoml models delete [OPTIONS] DELETE_TARGETS...
选项
- -y, --yes, --assume-yes¶
删除特定模型时跳过确认。
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- DELETE_TARGETS¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
export¶
将模型导出到外部存档文件
参数
示例
bentoml models export [OPTIONS] MODEL_TAG [OUT_PATH]
选项
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_TAG¶
必需参数
- OUT_PATH¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
get¶
通过提供 model_tag 打印模型详情
bentoml models get [OPTIONS] MODEL_TAG
选项
- -o, --output <output>¶
- 选项:
json | yaml | path
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_TAG¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
import¶
导入先前导出的模型存档文件
bentoml models import ./my_model.bentomodel bentoml models import s3://mybucket/models/my_model.bentomodel
bentoml models import [OPTIONS] MODEL_PATH
选项
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_PATH¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
list¶
列出本地仓库中的模型
bentoml models list [OPTIONS] [MODEL_NAME]
选项
- -o, --output <output>¶
- 选项:
json | yaml | table
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_NAME¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
pull¶
从远程模型仓库拉取模型。如果未提供 model_tag,它将拉取 bentofile.yaml 中定义的模型。
bentoml models pull [OPTIONS] [MODEL_TAG]
选项
- -f, --force¶
强制从远程模型仓库拉取到本地,即使本地已存在也覆盖
- -F, --bentofile <bentofile>¶
bentofile 文件的路径。默认为 ‘bentofile.yaml’
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_TAG¶
可选参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
push¶
将模型推送到远程模型仓库。
bentoml models push [OPTIONS] MODEL_TAG
选项
- -f, --force¶
即使远程已存在,也强制推送到远程模型仓库
- -t, --threads <threads>¶
上传使用的线程数
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- MODEL_TAG¶
必需参数
环境变量
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值
bentoml serve¶
bentoml serve [OPTIONS] COMMAND [ARGS]...
serve¶
从给定的 🍱 启动 HTTP BentoServer
例如
bentoml serve serve [OPTIONS] [BENTO]
选项
- --development¶
以开发模式运行 BentoServer
- 默认:
False
- --production¶
以生产模式运行 BentoServer(已弃用)
- -p, --port <port>¶
REST API 服务器监听的端口
- --host <host>¶
REST API 服务器绑定的主机
- --reload¶
检测到代码更改时重新加载 Service
- 默认:
False
- --working-dir <working_dir>¶
从源代码加载时,指定查找 Service 实例的目录
- --arg <KEY=VALUE>¶
Bento 参数,格式为 key1=value1[,key2=value2…] 对,可指定多次
- --env <env>¶
运行命令的环境
- 选项:
conda
- --context <cloud_context>¶
BentoCloud 上下文名称。
- --do-not-track¶
不发送使用信息
- --verbose, --debug¶
生成调试信息
- -q, --quiet¶
抑制所有警告和信息日志
参数
- BENTO¶
可选参数
环境变量
- BENTOML_PORT
提供
-p
的默认值
- BENTOML_HOST
提供
--host
的默认值
- BENTOML_API_WORKERS
提供
--api-workers
的默认值
- BENTOML_TIMEOUT
提供
--timeout
的默认值
- BENTOML_DO_NOT_TRACK
提供
--do-not-track
的默认值
- BENTOML_VERBOSITY
提供
-q
的默认值