尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

AI Agent 工程实践(31):Agent 如何部署

AI Agent 工程实践(31):Agent 如何部署 系列AI Agent 工程实践上一篇第 30 篇《Agent 如何做测试》下一篇第 32 篇《Agent 如何上线》一、开场把 Agent 跑在笔记本上一个团队做完 Demo老板说明天给客户演示。工程师把服务python app.py跑在自己笔记本上开着不关。演示到一半系统自动更新重启服务没了客户想能不能并发试试两个人同时发消息就 502。这不是段子是 Agent 项目的典型死亡方式本地能跑 ≠ 生产能服务。上篇30讲测试保证改了不崩。这篇讲怎么让它一直活着还能扛量——部署。二、问题背景本地跑 vs 生产部署本地跑# app.py 直接 python app.py from fastapi import FastAPI app FastAPI() app.post(/chat) async def chat(req): ... # 终端里 python app.py关掉就没了生产部署要解决四件事环境可复现、进程可恢复、流量可承接、算力可调度。这四件事靠python app.py一个都解决不了。三、错误尝试三种部署翻车错误 1nohup python app.py 裸跑进程挂在登录 shell 下退出登录就死崩了没人拉起端口直接暴露公网没有 SSL、没有限流。错误 2推理和 API 混在一个进程还硬要 GPUAgent 服务本身是 CPU 密集编排、IO、拼接 prompt只有自己部署模型推理才需要 GPU。很多人不管用没用云 API先买显卡堆机器浪费钱也浪费运维。错误 3不容器化环境靠手动同步我本地能跑——因为依赖版本、系统库、环境变量全在工程师机器上。换台机器就飘协作和回滚都成噩梦。四、关键观察部署 六个独立决策轴部署不是选一个方案而是六个正交的决策每个都可以独立选服务入口FastAPI怎么把 Agent 暴露成 HTTP 接口。环境封装Docker怎么让环境可复现、可迁移。流量入口NginxSSL、负载均衡、静态资源、限流。算力来源GPU是否自托管推理——大多数情况不需要。编排调度K8s多副本、自愈、扩缩容。弹性形态Serverless不想管服务器、流量稀疏时。关键GPU 和 Serverless 是互斥的常见误用——自托管推理才要 GPU事件驱动才要 Serverless多数 Agent 走云 API Docker Nginx就够。五、最终方案六组件职责与适用边界组件负责什么你必须用它当可以不用的信号FastAPI异步 HTTP 服务、并发处理请求要做 Web 服务纯离线脚本Docker环境封装、可复现、隔离任何要迁移/协作的场景单文件脚本自用Nginx反向代理、SSL、负载均衡、限流暴露公网、多副本内网单实例GPU自托管模型推理的算力自己部署开源大模型调云 API绝大多数K8s多副本编排、自愈、弹性扩缩高可用、规模化一两台机器够用Serverless事件触发、按量计费、免运维流量稀疏、突发长连接/常驻服务反直觉的一点90% 的 Agent 项目不需要 GPU也不需要 K8s。它们调的是云 API如 DeepSeek、OpenAI算力在对方机房自己只跑编排逻辑CPU 足够。GPU/K8s 是自建推理 规模化才需要的重型装备过早引入只会拖慢你。六、架构图Mermaid请求全生命周期如果用 ServerlessFastAPI 容器换成函数实例由平台接管扩缩如果自托管推理Provider 指向本地推理服务跑在 GPU 节点。七、代码与配置示例Dockerfile最小可复现FROM python:3.11-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple COPY . . EXPOSE 8000 CMD [uvicorn, app:app, --host, 0.0.0.0, --port, 8000]docker-compose本地多容器services: api: build: . ports: [8000:8000] environment: - PROVIDER_API_KEY${PROVIDER_API_KEY} depends_on: [redis] redis: image: redis:7Nginx 反向代理SSL 限流server { listen 443 ssl; location /api/ { proxy_pass http://127.0.0.1:8000/; limit_req zoneone burst20; } }八、设计权衡自建推理 vs 云 API vs Serverless维度云 API自托管推理(GPU)Serverless起步成本低高显卡/机房极低运维负担无重无数据出域过第三方不出域视厂商延迟可控中高冷启动高适用绝大多数 Agent合规/量大/私有模型稀疏流量/事件选型原则默认云 API Docker Nginx只有数据不能出域或量足够大摊薄显卡成本才上 GPU只有请求极稀疏、不想养服务器才上 Serverless。不要反过来——先上重型装备再找理由。九、总结✅ 本地python app.py≠ 生产部署差的是环境可复现 / 进程可恢复 / 流量可承接 / 算力可调度。✅ 三种翻车裸跑 nohup、推理 API 混进程硬堆 GPU、不容器化环境飘移。✅ 部署 六决策轴FastAPI / Docker / Nginx / GPU / K8s / Serverless各自独立选。✅ 反直觉90% 的 Agent 不需要 GPU 也不需要 K8s——它们调云 API自己只跑编排。✅ 选型默认「云 API Docker Nginx」重型装备按需上。下一篇部署完别急着全量——怎么上线才安全。32参考资料带用途说明本系列30Agent 如何做测试部署前假设测试护栏已就绪本文是上线前的倒数第二步。本系列22Agent 项目应该如何分层本文 FastAPI / Docker 落点都在22的分层目录里。本系列19从 Demo 到生产环境 Checklist部署是 Checklist 的关键一环呼应上生产清单。本系列27日志系统容器化后日志收集方式会变化部署需配合日志方案。FastAPI 文档fastapi.tiangolo.com异步服务框架的实现参考。Docker 文档docs.docker.com容器化与镜像构建实践参考。Nginx 文档nginx.org反向代理与限流配置参考。本文是 AI Agent 工程实践系列的第 31 篇第四阶段第十一篇。系列导航上一篇第 30 篇《Agent 如何做测试》下一篇第 32 篇《Agent 如何上线》
返回列表