ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

vLLM 接入 Llama Stack:remote 与 inline 两种推理提供商配置详解

vLLM 接入 Llama Stack:remote 与 inline 两种推理提供商配置详解 vLLM 接入 Llama Stackremote 与 inline 两种推理提供商配置详解【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllmvLLM 除了作为独立服务运行外还可以通过 Meta 开源的 Llama Stack 平台对外提供推理能力。本篇基于仓库文档 Llama Stack 集成说明 展开系统讲解pip install llama-stack之后的完整接入流程如何用remote::vllm远程提供商将 Llama Stack 指向已运行的 vLLM 服务、如何用 inlinevllm提供商在 Llama Stack 内部直接拉起模型、以及配置中各字段url、model、tensor_parallel_size等的含义与取值来源。读完本文你可以把 Llama Stack 的 Inference API 无缝对接到 vLLM 的 OpenAI 兼容服务端并根据部署规模在“远程接入”与“内嵌部署”两种模式之间做出合理选择。Llama Stack 与 vLLM 的集成模式概览Llama Stack 是一个分层式的大模型应用框架其 Inference 层支持多种后端提供商。vLLM 在该框架中有两种接入形态远程提供商remote::vllmLlama Stack 作为一个独立进程/服务运行vLLM 是另一个已经通过vllm serve启动的服务。两者通过 HTTPOpenAI 兼容 API通信。适合 vLLM 服务已经存在、需要被多个平台复用的场景。内嵌提供商inlinevllmLlama Stack 直接在自己的进程内加载 vLLM 引擎并管理模型生命周期。适合希望一站式部署、不希望维护额外推理服务的场景。从源码结构看vLLM 侧对 Llama Stack 的暴露面就是标准的 OpenAI 兼容 HTTP 接口服务入口 api_server 提供/v1/chat/completions、/v1/completions等端点而 serve 参数定义 中port: int 8000第 255 行附近说明默认监听端口为 8000——这正是 Llama Stack 远程配置中url: http://127.0.0.1:8000指向的地址。安装 Llama Stack在配置任何提供商之前先安装 Llama Stack 本体pip install llama-stack -qvLLM 本身则按照仓库 安装指南 单独安装两者互不冲突。安装完成后可用llama-stack命令行工具生成和校验配置如llama-stack list providers、llama-stack configure等具体以 llama-stack 包版本为准。模式一通过 OpenAI 兼容 API 接入远程 vLLM 服务这是推荐的生产级用法先独立启动 vLLM 服务再让 Llama Stack 通过 HTTP 调用它。第一步启动 vLLM 服务按照仓库 OpenAI 兼容服务文档使用vllm serve启动模型服务vllm serve NousResearch/Meta-Llama-3-8B-Instruct \ --dtype auto \ --api-key token-abc123要点说明默认端口 8000CLI 参数定义 中port默认值为 8000且 OpenAI 客户端辅助命令的默认 base URL 就是http://localhost:8000/v1见 openai CLI 入口 第 127 行附近。若你修改了--portLlama Stack 侧的url必须同步修改。--api-keyvLLM 服务可启用 API Key 鉴权。若设置了 KeyLlama Stack 的远程 vLLM 提供商配置中也需携带对应的api_key具体字段名以 Llama Stack 文档为准。完整的 serve 命令行参数可参考 serve_args 文档。第二步配置 Llama Stack 远程 vLLM 提供商在 Llama Stack 的 YAML 配置文件中声明一个指向 vLLM 服务的推理提供商inference: - provider_id: vllm0 provider_type: remote::vllm config: url: http://127.0.0.1:8000各字段含义字段含义示例值provider_id该提供商实例在配置内的唯一标识供其他层如 Agent引用vllm0provider_type提供商类型remote::前缀表示跨进程/跨机器的 HTTP 远程接入remote::vllmconfig.urlvLLM 服务根地址不含/v1路径前缀默认对应vllm serve的 8000 端口http://127.0.0.1:8000从 vLLM 侧的实现可以印证这一对接方式Llama Stack 的 remote vLLM 提供商本质上是 vLLM OpenAI 兼容 API 的 HTTP 客户端其请求路径与任何标准 OpenAI 客户端一致例如from openai import OpenAI client OpenAI( base_urlhttp://localhost:8000/v1, api_keytoken-abc123, ) completion client.chat.completions.create( modelNousResearch/Meta-Llama-3-8B-Instruct, messages[{role: user, content: Hello!}], )该调用示例与 openai_compatible_server 文档 中的客户端脚本完全同构说明 vLLM 对 Llama Stack 而言就是一个“标准的 OpenAI API 后端”无需任何 vLLM 侧的额外适配代码。远程 vLLM 提供商的完整字段列表如可选的api_key、超时等以 Llama Stack 官方文档为准本文不再展开外部内容。模式二使用 inline 提供商内嵌 vLLM如果不需要独立维护 vLLM 进程可以让 Llama Stack 在自身进程内直接加载模型。Llama Stack 提供了 inline 推理提供商位于 llama-stack 仓库的llama_stack/providers/inline/inference目录。示例配置如下inference: - provider_type: vllm config: model: Llama3.1-8B-Instruct tensor_parallel_size: 4字段说明provider_type: vllm注意此处没有remote::前缀表示使用 inline 提供商模型由 Llama Stack 进程直接持有。model要加载的模型标识Hugging Face 仓库名或本地路径例如示例中的Llama3.1-8B-Instruct。tensor_parallel_size张量并行度即把单个模型切分到多张 GPU 上并行计算。示例配置为 4意味着至少需要 4 张 GPU。这个参数与 vLLM 服务端的--tensor-parallel-size语义一致参见 性能优化文档 中的多卡并行示例如--tensor-parallel-size 4。两种模式的选型建议基于文档描述推断维度remote::vllminlinevllm进程关系Llama Stack 与 vLLM 分离vLLM 引擎内嵌于 Llama Stack 进程运维复杂度需要分别管理两个服务单一部署单元服务复用vLLM 可同时被其他系统调用模型资源被 Llama Stack 独占典型场景已有推理平台、多消费者共享快速搭建、一体化 PoC验证与排错要点连通性检查配置好remote::vllm后先用curl http://127.0.0.1:8000/v1/models若启用鉴权则加Authorization: Bearer api-key确认 vLLM 服务可达再启动 Llama Stack可快速区分是 vLLM 侧问题还是 Llama Stack 配置问题。端口一致性若vllm serve使用了非默认的--portconfig.url中的端口必须与之匹配vLLM 默认端口 8000 定义于 cli_args。模型名一致性inline 模式config.model指定的模型应与实际可加载的权重路径匹配remote 模式下Llama Stack 发起请求时携带的model字段需与 vLLM 服务实际加载的模型标识对应vLLM 支持--served-model-name显式命名见 serve_args。生成配置覆盖vLLM 默认会应用模型仓库中的generation_config.json覆盖采样参数默认值可通过--generation-config vllm关闭详见 openai_compatible_server 文档 中的提示框说明。小结vLLM 接入 Llama Stack 的核心就是两份 YAML 配置远程模式用provider_type: remote::vllmconfig.url把 Llama Stack 指到vllm serve默认 8000 端口的 OpenAI 兼容接口上内嵌模式用provider_type: vllmmodel/tensor_parallel_size让 Llama Stack 直接托管模型。vLLM 侧无需任何改动或专用插件——其标准 OpenAI 兼容服务api_server即为对接基础。更多部署形态Kubernetes、Docker 等可继续参考 部署文档 与 集成文档目录。【免费下载链接】vllmA high-throughput and memory-efficient inference and serving engine for LLMs项目地址: https://gitcode.com/GitHub_Trending/vl/vllm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进