EN

LLM 应用模型注册表:生产环境设置指南

生产环境 ML 模型的版本控制与管理

返回教程列表
高级10 分钟

LLM 应用模型注册表:生产环境设置指南

生产环境 ML 模型的版本控制与管理

LLM 应用的模型注册表(2026):要版本化的是生成配置元组(模型快照+提示词版本+参数+工具 schema)。git YAML 即可起步、晋升流程双门(评测分数+金丝雀)、运行时每次调用记录注册版本是回报点。含反模式清单。

LLM 应用模型注册表:生产环境设置指南

模型注册表回答了每个生产 AI 系统最终都会遇到的四个问题:当前运行的是哪个模型/提示词组合、上周二运行了什么、谁批准了变更、以及如何回滚? 经典的 ML 注册表(如 MLflow 风格)对训练权重进行版本控制;LLM 应用需要更宽泛的概念——你必须版本化的是生成配置:模型 ID + 提示词版本 + 参数 + 工具 schema。本指南将务实设置这两个层面。

LLM 应用的“模型注册表”含义

对于基于 API 的 LLM 系统,可部署的工件不是权重——而是一个配置元组:

yaml

注册表条目:你要版本化、批准和回滚的单元

name: support-triage version: 14 model: gpt-5-mini-2026-xx # 固定快照,绝不使用浮动别名 prompt_ref: triage-prompt@v9 # 提示词存储引用 params: { max_tokens: 300 } tools_ref: triage-tools@v3 eval: { suite: triage-eval-v4, score: 0.94, run: 2026-06-10 } approved_by: zyql status: production # draft | staging | production | retired

注册表就是:这些条目的存储 + 晋升工作流 + 审计日志。根据团队规模的实现选项:

  • 小团队:git 中的 registry/ YAML 目录 + 加载器。Git *就是*审计日志和回滚机制。对大多数情况来说足够了。
  • 平台层:LangSmith/Langfuse 风格的提示词注册表提供带版本控制的提示词,支持 UI 差异比较和环境标签(对比)——与 git 配合管理参数/工具。
  • MLflow 类注册表:当你*同时*需要发布微调权重(见下文)并希望用一个系统管理两者时。
  • 无论使用何种工具,不可妥协的规则是:应用在启动时通过(名称,环境)解析配置——绝不在代码中硬编码模型 ID 或内联提示词。 这种间接性使得回滚变成一行代码的变更,而不是一次部署。

    晋升工作流(价值所在)

    text
    draft → staging → production
            ↑ 关卡:评测套件 ≥ 阈值        ↑ 关卡:金丝雀干净
    

  • 评测关卡:没有附带评测套件评分运行的条目不能进入 staging(构建套件)。注册表条目携带其评测分数,将“我觉得新提示词更好”转变为可审计的声明。
  • 金丝雀关卡:先晋升到流量切片,观察质量/延迟/成本变化——AI 金丝雀分析涵盖机制;注册表的任务是使“旧版本”成为可一键回滚的指针。
  • 退役纪律:提供商模型弃用按*他们*的时间表到来——注册表的固定快照字段加上弃用日历是你如何有意识地迁移(提供商最佳实践)而不是在中断期间迁移。
  • 当你还有微调权重时

    自托管或托管的微调增加了经典层面:工件存储(S3/HF 私有仓库用于 LoRA 适配器)、谱系(基础模型 + 数据集版本 + 训练运行)和服务集成(vLLM/托管适配器 部署拉取注册表标记的工件)。MLflow 或 HF 仓库加标签的约定都可行;重要的是*相同的*晋升工作流管理权重和配置——一个审批链。

    运行时集成

    python
    

    启动时解析;缓存;如需无重启切换则订阅变更

    cfg = registry.resolve('support-triage', env='production') resp = await client.chat.completions.create( model=cfg.model, messages=render(cfg.prompt, ticket), **cfg.params) log(feature='support-triage', registry_version=cfg.version, tokens=resp.usage, ...)

    每次调用中记录注册表版本是回报点:事故变成“版本 14 在 14:02 开始报错”而不是考古,成本仪表板按版本切片(可观测性)。

    反模式

  • 生产条目中使用浮动别名(-latest)——静默模型漂移破坏整个系统
  • 提示词在代码中、参数在环境变量中、模型在配置中——三个真相来源,无法原子回滚
  • 评测分数记录在“别处”——如果晋升不*要求*分数,关卡就会失效
  • 注册表没有运行时版本日志——你版本化了配置,但无法判断哪个版本服务了请求
  • 常见问题

    在产品市场匹配之前,这难道不是过度设计吗? git 目录版本只需一下午的工作,并在第一次“什么变了?”事件时就产生回报。跳过平台工具,但不要跳过间接层。

    A/B 测试放在哪里? 两个注册表条目同时存在,带有流量分配——注册表提供变体标识;你的实验层分配流量。

    多提供商路由? 注册表条目可以命名一个由网关服务的等价类,而不是单个模型——注册表版本化意图;网关解析供应商。


    *最后更新:2026 年 6 月。*

    相关工具

    mlflowdockerpython