OctoNews

用 Modal 部署 Qwen3.8 27B:从 Endpoint 创建到本地调用的完整实战

技术和认知提升大模型架构工程

一、为什么要把模型部署成 Endpoint?

如果只是在线体验模型,打开网页即可;但如果希望把模型接入自己的应用,就需要一个稳定、可鉴权的服务入口。

Endpoint 的价值在于:

  • 为模型提供统一的 API 地址
  • 允许自己的应用通过 Token 调用
  • 可以查看部署状态、GPU 配置和运行情况
  • 能够通过 Quickstart 或代码示例快速接入
  • 可以设置预算上限,避免测试时产生不可控费用

这次实战的目标,是把 Qwen3.8 27B 部署起来,并通过本地命令验证它是否真的可以被调用。

二、创建一个新的 Endpoint

进入模型平台后,首先创建一个新的应用或 Endpoint。

创建时需要重点关注几个选项:

  1. 模型名称:选择 Qwen3.8 27B
  2. 运行方式:选择 OpenAI-compatible 或平台提供的对应服务类型
  3. 认证方式:开启 Token 验证
  4. 部署区域:根据延迟、资源和价格选择合适区域
  5. 硬件配置: H200 GPU

启用 Token 验证后,平台会生成一组凭证。请注意:Token Secret 通常只会完整展示一次,应该立即保存到密码管理器或安全的 Secret 管理系统中。

不要把 Token Secret 直接写进文章、截图、Git 仓库或公开日志。

三、部署阶段:不要只看页面,要看状态

大模型部署通常不是瞬间完成的,尤其是 27B 级别的模型,需要经历资源分配、模型下载、容器启动和服务就绪等阶段。

可以重点观察以下状态:

  • 「deploying」:正在创建部署
  • 「downloading」:正在下载模型权重
  • 「starting」:容器已经启动,服务正在初始化
  • 「ready」:Endpoint 已经可以接受请求

录屏中部署过程花了几分钟。这个阶段最重要的是确认它不是卡住,而是确实在从下载进入启动,再进入 ready。

另外,部署页面通常会显示 GPU、CPU、内存和运行区域。这些信息会直接影响速度和费用。录屏中的配置使用 H200 GPU,同时配备了 4 核 CPU 和一定量的内存。

四、获取 Endpoint 地址

当服务进入 ready 状态后,页面会显示 Endpoint 地址。

这个地址就是后续应用访问模型的入口。实际项目中建议把它保存到环境变量中,例如:

环境变量的好处是:

  • 不把密钥写死在源代码里
  • 本地开发、测试和生产环境可以使用不同凭证
  • 更容易接入 CI/CD 和 Secret 管理系统
  • 降低密钥误提交到 Git 的风险

五、先用 Quickstart 验证服务

不要一开始就把 Endpoint 接入完整应用。更稳妥的方式,是先运行平台提供的 Quickstart 示例。

常见验证顺序如下:

  1. 复制平台生成的示例代码
  2. 设置 Token ID 和 Token Secret
  3. 设置 Endpoint 地址
  4. 发起一次最小请求
  5. 检查返回结果
  6. 再接入自己的业务代码

可以使用命令行调用,平台同时提供 Python 和 TypeScript 示例。对于大多数开发者来说,先用官方 Quickstart 跑通,再逐步替换成自己的请求逻辑,是最省时间的方式。

六、为什么需要 Token ID 和 Token Secret?

Endpoint 不是一个完全公开的网页接口。开启 Proxy Auth 后,请求需要携带认证信息。

平台通常会提供两类使用方式:

方式一:使用平台指定的认证字段

在 SDK 或 HTTP 请求中分别传递 Token ID 和 Token Secret。

方式二:使用统一的 Authorization Header

对于 OpenAI-compatible 客户端或只接受 Bearer Token 的网关,可以把凭证转换成统一的 Authorization 形式。

无论选择哪种方式,都建议遵循三条原则:

  • 只从环境变量读取凭证
  • 不要在前端代码中暴露 Secret
  • 一旦怀疑泄露,立即撤销并重新生成

七、从本地命令调用模型

完成配置后,可以直接在本地调用 Endpoint。

第一次测试建议使用简单、可快速判断结果的请求,例如让模型返回一段短文本。这样可以快速确认:

  • DNS 或网络连接正常
  • Endpoint 地址正确
  • Token 鉴权通过
  • 模型服务已经 ready
  • 返回格式符合预期

如果请求失败,可以按下面顺序排查:

  1. 检查 Endpoint 是否仍处于 ready 状态
  2. 检查 Token 是否复制完整
  3. 检查环境变量是否在当前 Shell 生效
  4. 检查请求路径和 API 兼容模式
  5. 查看平台侧日志和请求错误信息
  6. 确认容器不是刚刚启动,还没有完成初始化

八、费用控制非常重要

GPU 部署最容易被忽略的部分,就是费用控制。

录屏中也特别提到,平台提供了一定额度,但如果绑定了支付方式,就应该主动设置消费上限。建议至少做以下配置:

  • 设置月度预算上限
  • 测试完成后及时停止 Endpoint
  • 不要让 GPU 在无人使用时持续运行
  • 为实验环境和正式环境分别设置预算
  • 定期查看使用量和请求记录

一个很实用的习惯是:测试前启动,测试后关闭;不要把 Endpoint 当成永久在线的免费服务。

九、完整流程总结

把 Qwen3.8 27B 部署成可调用 Endpoint,大致可以归纳为:

十、最后的建议

如果你第一次使用这类模型部署平台,不建议一上来就做复杂的业务集成。先完成一个最小闭环:

创建 Endpoint → 等待 ready → 获取地址和凭证 → Quickstart 调用 → 确认返回结果

这个闭环跑通后,再把它接入自己的 Python 服务、TypeScript 应用、自动化脚本或内部工具。

同时,一定要把安全和成本放在功能之前:Token Secret 要安全保存,Endpoint 用完要关闭,预算上限要提前设置。

这样,你就不仅完成了模型部署,也建立了一套可重复、可维护、可控成本的模型调用流程。