公司内部用 GPT/Claude 有数据合规风险。本文记录我们私有化部署 LLM 给 50 人小团队用的方案。

选型

模型 参数 GPU 需求 中文能力 工具调用
Qwen2.5-72B 72B 4×A100 80G
Qwen2.5-32B 32B 2×A100 80G
DeepSeek-V3 671B (MoE) 8×H100
Llama 3.3 70B 70B 4×A100 中(中文一般)

50 人小团队推荐 Qwen2.5-32B,性价比最好。

推理框架:vLLM

vLLM 是当前最快的开源推理框架,PagedAttention 让吞吐量比 transformers 高 10 倍。

pip install vllm

vllm serve Qwen/Qwen2.5-32B-Instruct \
  --tensor-parallel-size 2 \
  --max-model-len 32768 \
  --gpu-memory-utilization 0.9 \
  --port 8000

服务起来后兼容 OpenAI API:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"Qwen/Qwen2.5-32B-Instruct","messages":[{"role":"user","content":"你好"}]}'

加 Web UI

LobeChat 或 OpenWebUI 是开源 ChatGPT 风格 UI:

# docker-compose.yml
services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - OPENAI_API_BASE_URL=http://vllm:8000/v1
      - OPENAI_API_KEY=dummy
    ports:
      - "3000:8080"

接入 OIDC 单点登录

OpenWebUI 支持 OIDC:

environment:
  - ENABLE_OAUTH_SIGNUP=true
  - OAUTH_CLIENT_ID=...
  - OAUTH_CLIENT_SECRET=...
  - OPENID_PROVIDER_URL=https://sso.company.com/.well-known/openid-configuration

接入公司 SSO 后员工免注册直接用。

接入 Claude Code / opencode / Cursor

所有兼容 OpenAI API 的客户端都可以接:

Claude Code 不行(专绑 Anthropic API),但 opencode 支持自定义 provider:

{
  "provider": {
    "internal-qwen": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://internal-llm.company:8000/v1",
        "apiKey": "dummy"
      },
      "models": {
        "qwen2.5-32b": { "name": "Qwen 2.5 32B" }
      }
    }
  }
}

监控

vLLM 自带 Prometheus metrics:

http://localhost:8000/metrics

关键指标:
- vllm:num_requests_running:当前在跑的请求
- vllm:num_requests_waiting:等待队列长度
- vllm:time_to_first_token_seconds:首 token 延迟
- vllm:e2e_request_latency_seconds:端到端延迟

队列长度持续 >10 说明 GPU 不够。

容量规划

50 人团队实测数据:

  • 平均 QPS:2-3(峰值 8)
  • 平均输入 token:2000
  • 平均输出 token:500
  • 单次延迟:2-5 秒

2 张 A100 80G + Qwen 32B 完全够用,每月电费 + 折旧 + 运维 ≈ ChatGPT Team 50 个 license 的成本。

几个坑

  1. vLLM 不支持热更换模型:换模型要重启
  2. batch size 调大有 OOM 风险:留 10% GPU 内存余量
  3. 长上下文性能崩:32K 比 8K 慢 5 倍以上,业务能用 8K 就不要开 32K
  4. 流式输出在某些客户端不工作:测试客户端兼容性

ROI 分析

ChatGPT Team / Claude Team license:~30 USD/人/月,50 人 = 1500 USD/月

私有化:
- 服务器 2×A100 80G:购置 30 万人民币(按 3 年折旧 = 8000 RMB/月)
- 电费 + 机房:~3000 RMB/月
- 运维(兼职 0.2 人):~3000 RMB/月
- 合计:~14000 RMB/月

不算便宜,但数据不出公司这条对很多企业是硬要求。

教训:私有化 LLM 性价比的临界点是 50-100 人,再小就不如直接买 API。

标签: none

添加新评论