快速入门#
本教程将指导您完成 vLLM Production Stack 的最小化设置,使用一个 vLLM 实例和 facebook/opt-125m 模型。完成本教程后,您将拥有一个在带有 GPU 的 Kubernetes 环境中运行的 vLLM 部署。
目录#
先决条件#
一个支持 GPU 的 Kubernetes 环境。如果尚未设置,请遵循 先决条件 指南。
已安装 Helm。请参阅 install-helm.sh 脚本获取说明。
已安装 kubectl。请参阅 install-kubectl.sh 脚本获取说明。
已克隆项目仓库:vLLM Production Stack 仓库。
对 Kubernetes 和 Helm 有基本了解。
步骤#
1. 部署 vLLM 实例#
1.1: 使用预定义配置#
vLLM Production Stack 仓库提供了一个预定义配置文件 values-01-minimal-example.yaml,位于 tutorials/assets/values-01-minimal-example.yaml。该文件包含以下内容
servingEngineSpec:
runtimeClassName: ""
modelSpec:
- name: "opt125m"
repository: "vllm/vllm-openai"
tag: "latest"
modelURL: "facebook/opt-125m"
replicaCount: 1
requestCPU: 6
requestMemory: "16Gi"
requestGPU: 1
# Optional resource limits - if not specified, only GPU will have a limit
# limitCPU: "8"
# limitMemory: "32Gi"
主要字段说明
modelSpec: 定义模型配置,包括
name: 模型部署的名称。repository: 托管模型镜像的 Docker 仓库。tag: Docker 镜像标签。modelURL: 指定要使用的 LLM 模型。
replicaCount: 设置要部署的副本数量。
requestCPU 和 requestMemory: 指定 pod 的 CPU 和内存请求。
limitCPU 和 limitMemory: 指定 pod 的 CPU 和内存资源的最大限制。
requestGPU: 指定所需的 GPU 数量。
注意: 如果您打算设置两个 vllm pod,请参阅 tutorials/assets/values-01-2pods-minimal-example.yaml。
1.2: 部署 Helm Chart#
使用预定义配置文件部署 Helm Chart
helm repo add vllm https://vllm-project.github.io/production-stack
helm install vllm vllm/vllm-stack -f tutorials/assets/values-01-minimal-example.yaml
命令说明
第一个命令中的
vllm: Helm 仓库。第二个命令中的
vllm: Helm Release 的名称。-f tutorials/assets/values-01-minimal-example.yaml: 指定预定义配置文件。您可以查看 Chart vllm-stack 的 默认配置值。
2. 验证安装#
2.1: 监控部署状态#
使用以下命令监控部署状态
kubectl get pods
预期输出
名为
vllm的部署的 Pod 应过渡到Ready和Running状态。
NAME READY STATUS RESTARTS AGE
vllm-deployment-router-859d8fb668-2x2b7 1/1 Running 0 2m38s
vllm-opt125m-deployment-vllm-84dfc9bd7-vb9bs 1/1 Running 0 2m38s
注意: 容器下载 Docker 镜像和 LLM 权重可能需要一些时间。
3. 向 Stack 发送查询#
3.1: 转发服务端口#
将 vllm-router-service 端口暴露到主机
kubectl port-forward svc/vllm-router-service 30080:80
3.2: 查询 OpenAI 兼容 API 以列出可用模型#
通过查询可用模型来测试 Stack 的 OpenAI 兼容 API
curl -o- https://:30080/v1/models
预期输出
{
"object": "list",
"data": [
{
"id": "facebook/opt-125m",
"object": "model",
"created": 1737428424,
"owned_by": "vllm",
"root": null
}
]
}
3.3: 查询 OpenAI Completion 端点#
向 OpenAI /completion 端点发送查询,为 prompt 生成补全
curl -X POST https://:30080/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "facebook/opt-125m",
"prompt": "Once upon a time,",
"max_tokens": 10
}'
生成的补全的示例输出
{
"id": "completion-id",
"object": "text_completion",
"created": 1737428424,
"model": "facebook/opt-125m",
"choices": [
{
"text": " there was a brave knight who...",
"index": 0,
"finish_reason": "length"
}
]
}
这展示了模型为提供的 prompt 生成的续写。
4. 卸载#
要移除部署,请运行
helm uninstall vllm