返回 Expert 笔记
Expert Day 176

Week 26 复习 — 生产级 LLMOps Stack

把 Day 163-175 的所有组件串成一个完整 LLMOps stack;评估每个组件的成熟度;金融行业 LLMOps 的合规底盘

2026-10-24
Phase 3 - 生产基础设施与评估 (Day 163-176)
LLMOpsProductionStackArchitectureCapstone

日期: 2026-10-24 方向: AI系统工程 / LLMOps / Architecture 阶段: Phase 3 - 生产基础设施与评估 (Day 163-176) 标签: #LLMOps #ProductionStack #Architecture #Capstone


今日目标

类型内容
学习把 Day 163-175 的所有组件串成一个完整 LLMOps stack;评估每个组件的成熟度;金融行业 LLMOps 的合规底盘
实操写一份蓝图 + Terraform / docker-compose 描述生产部署;对每个组件出"上线 checklist"
产出docs/ai-infra/llmops_stack.md:完整架构、组件清单、deployment 模板、上线 checklist

一、过去两周回顾

Day主题核心交付
163推理基础设施(vLLM/SGLang/TGI)vLLM PagedAttention + 部署脚本
164Cost 优化(prompt caching, batch)90% 成本下降数据
165Latency 优化(streaming, spec decode)TTFT/TPOT 测量
166Deterministic eval(20 个 case)pytest 套件
167LLM judge(pairwise + flip)κ 校准
168Golden dataset(100 条)4 类分层
169Eval pipeline 整合(eval_v1)CI workflow
170Observability(Langfuse)trace + score + experiment
171Versioning + CI(PromptOps)灰度发布
172Prompt vs RAG vs FT 决策真实对比数据
173LoRA / QLoRA 实战Unsloth + vLLM 部署
174Safety & Guardrails多层防御
175Red TeamingASR 报告

二、生产级 LLMOps 蓝图(最终架构)

┌──────────────────────────────────────────────────────────────────────┐
│                         ① Edge / API Gateway                         │
│   Kong / Envoy   ─  Auth (JWT/OAuth)  ─  Rate limit  ─  WAF          │
└────────────────────────────────┬─────────────────────────────────────┘
                                 │
┌────────────────────────────────┴─────────────────────────────────────┐
│                    ② Guardrails Pipeline (Day 174)                   │
│   ┌──────────────┐  ┌──────────────┐  ┌──────────────────────────┐  │
│   │ Input Scan   │→│ Topic Check   │→│ PII Anonymize           │   │
│   │ (LLM Guard)  │  │ (NeMo)        │  │ (Presidio)              │   │
│   └──────────────┘  └──────────────┘  └──────────────────────────┘  │
└────────────────────────────────┬─────────────────────────────────────┘
                                 │
┌────────────────────────────────┴─────────────────────────────────────┐
│                  ③ Routing & Orchestration                           │
│  ┌───────────────────┐  ┌────────────────┐  ┌─────────────────────┐ │
│  │ Model Router      │  │ Cache Layer    │  │ Prompt Registry     │ │
│  │ (Day 164)         │  │ (Day 164)      │  │ (Day 171, Langfuse) │ │
│  │ haiku→sonnet→opus │  │ Anthropic +    │  │  - prod  - canary   │ │
│  │ + canary split    │  │ Redis prefix   │  │  - staging          │ │
│  └───────────────────┘  └────────────────┘  └─────────────────────┘ │
└────────────────────────────────┬─────────────────────────────────────┘
                                 │
┌────────────────────────────────┴─────────────────────────────────────┐
│                   ④ Inference Layer                                  │
│  ┌─────────────────────┐  ┌─────────────────────────────────────┐   │
│  │ External APIs       │  │  Self-host (vLLM, Day 163)          │   │
│  │  - Anthropic        │  │  - Llama 4 70B / DeepSeek-V3        │   │
│  │  - OpenAI           │  │  - LoRA adapters (Day 173)          │   │
│  │  - Google           │  │  - PagedAttention + prefix caching  │   │
│  │                     │  │  - TP=4, fp8                        │   │
│  └─────────────────────┘  └─────────────────────────────────────┘   │
└────────────────────────────────┬─────────────────────────────────────┘
                                 │
┌────────────────────────────────┴─────────────────────────────────────┐
│                   ⑤ Output Pipeline                                   │
│  ┌──────────────┐  ┌──────────────────┐  ┌──────────────────────┐   │
│  │ Output Guard │→│ Constitutional    │→│ Streaming render     │   │
│  │ (Day 174)    │  │ Critique-Revise   │  │ (Day 165)            │   │
│  └──────────────┘  └──────────────────┘  └──────────────────────┘   │
└────────────────────────────────┬─────────────────────────────────────┘
                                 │
                                 ▼
                            Client SSE
                                 │
┌────────────────────────────────┼─────────────────────────────────────┐
│                  ⑥ Observability & Eval                              │
│   ┌──────────────────┐  ┌────────────────────┐  ┌────────────────┐  │
│   │ Langfuse         │←─│ Eval Pipeline       │  │ Red Team       │  │
│   │  trace+score+ds  │  │ (Day 169)           │  │ (Day 175)      │  │
│   └──────────────────┘  │  - det             │  │   ASR weekly   │  │
│   ┌──────────────────┐  │  - judge           │  └────────────────┘  │
│   │ Prometheus       │  │  - golden          │                       │
│   │ (latency/cost)   │  └────────────────────┘                       │
│   └──────────────────┘                                                │
└──────────────────────────────────────────────────────────────────────┘
                                 │
┌────────────────────────────────┴─────────────────────────────────────┐
│                  ⑦ Data & Compliance                                 │
│   ┌──────────────┐  ┌────────────────┐  ┌──────────────────────┐    │
│   │ ClickHouse   │  │ S3 (immutable) │  │ Audit log (7y)       │    │
│   │ analytics    │  │ prompt/output  │  │ +法规条款绑定        │    │
│   └──────────────┘  └────────────────┘  └──────────────────────┘    │
└──────────────────────────────────────────────────────────────────────┘

三、组件成熟度评估

组件成熟度推荐自托管替代
Inference (vLLM)⭐⭐⭐⭐⭐SGLang / TGI
Anthropic API⭐⭐⭐⭐⭐OpenAI / Google
Prompt caching⭐⭐⭐⭐⭐
Langfuse⭐⭐⭐⭐⭐Helicone
Eval (in-house)⭐⭐⭐⭐promptfoo
NeMo Guardrails⭐⭐⭐⭐LLM Guard
PromptOps⭐⭐⭐git-only
LoRA Unsloth⭐⭐⭐⭐HF PEFT
PyRIT red team⭐⭐⭐⭐Garak

四、Docker Compose 整体部署示例

# llmops-stack/docker-compose.yml
version: '3.9'

services:
  # ── Inference ──
  vllm:
    image: vllm/vllm-openai:v0.6.3
    runtime: nvidia
    command: |
      --model meta-llama/Llama-4-70B-Instruct
      --tensor-parallel-size 4
      --enable-prefix-caching
      --max-model-len 32768
      --quantization fp8
    ports: [8001:8000]
    environment:
      VLLM_API_KEY: ${VLLM_KEY}

  # ── Gateway / Guardrails ──
  api-gateway:
    build: ./gateway
    ports: [8000:8000]
    environment:
      ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
      VLLM_BASE: http://vllm:8000/v1
      LANGFUSE_HOST: http://langfuse:3000
    depends_on: [langfuse, vllm]

  # ── Observability ──
  langfuse:
    image: langfuse/langfuse:3
    ports: [3000:3000]
    depends_on: [pg, ch]
    environment:
      DATABASE_URL: postgresql://lf:lf@pg:5432/lf
      CLICKHOUSE_URL: http://ch:8123
      NEXTAUTH_SECRET: ${LF_SECRET}
      ENCRYPTION_KEY: ${LF_ENC_KEY}

  pg:
    image: postgres:16
    environment: { POSTGRES_PASSWORD: lf, POSTGRES_USER: lf, POSTGRES_DB: lf }
    volumes: [pg_data:/var/lib/postgresql/data]

  ch:
    image: clickhouse/clickhouse-server:24
    volumes: [ch_data:/var/lib/clickhouse]

  # ── Cache ──
  redis:
    image: redis:7
    volumes: [redis_data:/data]

  # ── Eval / CI runner ──
  eval-runner:
    build: ./eval_v1
    profiles: [eval]
    environment:
      ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}
      LANGFUSE_HOST: http://langfuse:3000

  # ── Prometheus / Grafana ──
  prometheus:
    image: prom/prometheus:latest
    volumes: [./prom.yml:/etc/prometheus/prometheus.yml]
    ports: [9090:9090]

  grafana:
    image: grafana/grafana:11
    ports: [3001:3000]
    depends_on: [prometheus]

volumes:
  pg_data: {}
  ch_data: {}
  redis_data: {}

五、Cost & Performance 总览(月度,金融客服场景)

假设:日 100 万次对话,平均 500 input + 200 output token,5% 走 opus,30% sonnet,65% haiku。

项目单位数量月成本
Anthropic API(all routed)calls30M$9,800
加 prompt caching(命中 70%)-$6,200
自托管 vLLM(H100×4)月租$4,500
Langfuse self-host VM$80
ClickHouse + PG VM$120
Redis cache$50
Eval pipeline(CI + nightly)$400
Red team weekly$130
Guardrails LLM call(haiku check)extra calls30M$250
总成本$9,130/月

vs 全 opus 不优化:$60K+/月。节省 85%


六、上线 Checklist(必须 ✅ 才上)

Inference & Cost

  • vLLM 健康检查 + autoscaling
  • Anthropic API key 通过 secret manager 管理
  • Prompt caching 验证 cache_read_input_tokens > 50%
  • Model router 配置 + 监控
  • Per-feature cost monitoring(每业务部门切片)

Latency

  • Streaming 全链路 SSE 不阻断
  • CDN / Gateway proxy_read_timeout > 120s
  • P95 latency 监控 + 告警
  • Spec decoding(如自托管)approval 测试通过

Eval

  • Golden set 至少 200 条,含 P0 case
  • CI eval 集成到 PR,min_pass_rate 设阈
  • Nightly full eval + Slack 报告
  • LLM judge κ > 0.7

Observability

  • Langfuse 接入 100% 流量
  • User feedback API 实现
  • Cost / Latency / Quality 三大 Grafana dashboard
  • Alert:error_rate > 1%、cost spike、quality drop

Versioning

  • Prompt 全部外置文件 + git
  • Prompt registry sync(Langfuse)
  • Canary 流量分流(5% → 25% → 100%)
  • 回滚演练通过(< 1 min)

Safety

  • Guardrails 多层覆盖(PII / injection / banned / constitutional)
  • Tool whitelist + role-based permission
  • Red team ASR < 5%(整体)+ LLM06/07 = 0%
  • PII 脱敏不出域

Compliance

  • Audit log 7 年保留 + immutable bucket
  • Prompt / output 输出至 S3 worm
  • 模型版本号绑定 git_sha / golden_version
  • SME(合规/法务/风控)签字 prompt + 模型上线
  • 金融监管备案文件(如适用)

DR / Continuity

  • LLM API down 降级(cache 或 deterministic-only 模式)
  • Langfuse down 不阻断业务(异步写)
  • 多 region 部署或 hot standby
  • Runbook / PagerDuty 接入

七、金融领域应用(汇总)

  1. 客服:高频路由 haiku,prompt caching 90% off,LoRA 私域分类
  2. 信贷决策:opus + RAG + constitutional,audit log 7 年
  3. 合规扫描:Batch API 50% off 夜间跑
  4. 投研助手:1h cache 大量 KB,sonnet 主力
  5. 披露/报告:streaming + spec decode 长输出
  6. AML/反欺诈:deterministic + LLM judge 双重,guardrails 拦关键词
  7. 客户经理 copilot:低延迟 + 并行 tool call + role guard

八、生产经验与陷阱(综合)

  1. 不要从零自建:先用 Anthropic + Langfuse + vLLM 三件套跑起来,半年后再考虑自研组件
  2. 观测先行:Langfuse 第一天接入,即使其他还粗糙
  3. 小步迭代 prompt:版本化 + canary,一次只动一个变量
  4. eval 决定一切:没有 eval 的 LLMOps 是裸奔。golden set 是你最重要的资产之一
  5. 成本和质量平衡:路由 + caching 是最大杠杆。能省 80% 不动模型升级
  6. 安全是底线:red team 每周跑、guardrails 多层、数据合规闭环
  7. 团队协同:PM + AI Eng + SecOps + 合规 + 法务,缺一不可
  8. 知识传承:每个组件配 runbook、决策 ADR、code 注释;新人 1 周能跑通
  9. 持续投入:LLMOps 不是一次性项目。每季度引入新工具 / 弃用旧组件
  10. 业务对齐:所有指标(cost / latency / quality)必须能映射到业务 KPI(NPS / 转化率 / 合规率)

九、面试题(Capstone)

  1. 设计一份金融机构内部 LLM 平台架构

    • 七层架构:Gateway → Guardrails → Routing → Inference (API + 自托管) → Output Pipeline → Observability → Compliance Storage;说明每层 trade-off
  2. LLMOps 团队应该怎么组?

    • PM(业务/eval/SLA)+ AI Eng(prompt/FT)+ Platform Eng(infra/cost)+ SecOps(red team/guardrails)+ Compliance;3-5 人小核心,扩展到业务线
  3. 如何评估某个 LLM 应用是否准备好上线?

    • 7 维 checklist:成本/延迟/质量/安全/可观测/灰度/审计;P0 100%、整体 ASR < 5%、eval pass rate > 92%、SME 签字
  4. 金融机构内部 LLM 与 SaaS LLM 选型差异?

    • 数据驻留、监管审计、可定制 guardrails、模型版本控制、SLA、cost predictability —— 倾向自托管 + Anthropic API 混合
  5. 你最自豪的 LLMOps 设计是什么?(开放题)

    • 答:layered defense(每层独立、单点失效不致灾)+ 完整 audit log(合规可追溯)+ 灰度回滚(< 1 min)+ 路由+caching(85% 成本节约)

十、明日预告

Phase 3 后续(Day 177+)将进入"AI Agent 架构与多模态"专题

  • ReAct vs Plan-and-Execute vs Reflexion 框架对比
  • Multi-agent / Agentic workflow(CrewAI / AutoGen / LangGraph)
  • Multimodal(vision / audio / document)
  • AI 在金融垂直场景的端到端方案
  • Web3 × AI Agent 综合产品设计

恭喜完成 Phase 3 的"生产基础设施与评估"段落。你已经具备从 0 到 1 在金融机构内部搭建生产级 LLMOps 平台的能力。