Skip to content

05. 工程篇:生产落地与运维

写出 Demo 很容易,但要将 AI 应用部署到生产环境,面临着稳定性、成本和安全性的挑战。

1. 模型网关 (Model Gateway)

在企业内部,不应让业务服务直接调用 OpenAI/Anthropic,而应通过统一的网关。 功能:

  • 统一鉴权: 屏蔽底层 API Key,分发内部 Token。
  • 成本控制: 配置不同部门的 Token Quota。
  • 灾备切换: OpenAI 挂了自动切 Azure OpenAI 或 Anthropic。

Go 是写网关的绝佳语言(性能高、转发快)。你可以基于 GinCloudWeGo/Hertz 手写一个轻量级网关。

2. 部署优化 (Deployment)

2.1 极小镜像

AI 应用通常包含大量 Python 依赖(几 GB),但 Go 应用可以做到几十 MB。 使用 distroless 基础镜像:

dockerfile
# Build Stage
FROM golang:1.21 AS builder
WORKDIR /app
COPY . .
RUN go build -o server main.go

# Run Stage
FROM gcr.io/distroless/static-debian11
COPY --from=builder /app/server /
CMD ["/server"]

2.2 本地模型部署

如果数据敏感,需部署本地模型(Llama 3, Qwen)。 推荐使用 OllamavLLM 作为推理后端,Go 应用通过 HTTP 调用它们。

3. 可观测性 (Observability)

AI 应用的调试非常困难("为什么模型回答了这句话?")。 我们需要 OpenTelemetry 记录完整的 Request/Response 和 Token 消耗。

go
// 记录 Span 属性
span.SetAttributes(
    attribute.String("llm.provider", "openai"),
    attribute.String("llm.model", "gpt-4"),
    attribute.Int("llm.usage.prompt_tokens", 100),
    attribute.Int("llm.usage.completion_tokens", 50),
)

接入 Jaeger 或 Grafana Tempo 可视化调用链路。

4. 自动化评估 (Evaluation)

如何知道 RAG 系统的检索准确率是 80% 还是 90%? 你需要建立 Eval Pipeline

  1. Golden Dataset: 准备 100 个“问题-标准答案”对。
  2. Runner: 跑一遍 RAG 系统,记录生成结果。
  3. Judge: 用 GPT-4 当裁判,给生成结果打分(Ragas 评分标准)。

这是持续迭代 AI 应用质量的唯一手段。

最后一次更新于:

🚀 学习遇到瓶颈?想进大厂?

看完这篇技术文章,如果还是觉得不够系统,或者想在实战中快速提升?
王中阳的就业陪跑训练营,提供定制化学习路线 + 企业级实战项目 + 简历优化 + 模拟面试。

了解训练营详情