一、完整方案要解决什么

「自托管大模型 + Agent」不是单点安装,而是一条可运维链路:模型推理 → 统一 API → Agent 运行时 → 工具与知识库 → 观测与权限。目标是:数据尽量不出域,成本可控,能力可扩展。

二、参考架构

用户 / 内部系统
      │
      ▼
 OpenWebUI(可选,人工对话与评测)
      │
      ▼
 API 网关(鉴权、限流、熔断、缓存)
      │
      ├────────────► Agent Runtime(Hermes 等)
      │                    │
      │                    ├─ 工具:HTTP / DB / 脚本
      │                    └─ RAG:向量库
      ▼
 Ollama / vLLM / 其他推理服务

三、分层落地(建议按周推进)

第 1 层:推理可用
Docker 部署 Ollama(或 GPU 上的 vLLM),拉取与业务匹配的小模型,先保证 /api/tags 与基础对话可用。可参考《Docker 部署 Ollama + OpenWebUI 完整指南》。

第 2 层:统一入口
加 API 网关或至少反向代理:鉴权、RPM/TPM 限流、超时。Agent 与前端都走统一 Base URL,避免各服务直连推理端口。

第 3 层:Agent 闭环
部署 Hermes(或你选型的框架),先只开放 1~2 个只读工具;跑通「用户目标 → 工具调用 → 最终答复」。

第 4 层:知识增强
上 RAG(向量库 + 切分流水线),把 Agent 的「瞎猜」变成「可引用」。

第 5 层:生产加固
备份 volume、HTTPS、审计日志、熔断降级、预算告警。详见稳定性与网关专文。

四、模型侧怎么选才够用

  • 工具调用:优先选明确支持 function calling 的型号
  • 资源不够:先 3B~7B 把链路跑通,再升 14B+
  • 隐私:敏感数据场景坚持内网推理,外网模型仅作降级备援

五、Agent 侧最小安全基线

  • 工具白名单 + 参数校验
  • 工作目录只读;禁止未审计的 shell
  • 最大步数 / 最大 Token / 总超时
  • 全链路日志脱敏(Key、用户隐私)

六、验收标准(你可以当作 Definition of Done)

  1. 内网用户能稳定对话,P95 延迟可接受
  2. Agent 能完成至少 1 个真实只读业务工具任务
  3. 推理与 Agent 配置重启不丢失
  4. 限流与超时在压测下表现符合预期
  5. 有备份与回滚步骤文档

七、小结

自托管的完整方案,关键不是「装最多组件」,而是每一层都可替换、可观测、可限权。先 Ollama 可用,再 Agent 可用,再 RAG 与网关,顺序反了就会一直停在调环境。