AI Agent Python 学习路线
首页
  • Month 1 概览
  • Week 1 · Python 语法速成
  • Week 2-3 · FastAPI 实战
  • Week 4 · AI / LLM 基础
  • Month 2 概览
  • Week 5-6 · LangChain / LangGraph
  • Week 7-8 · RAG 检索增强生成
  • Month 3 概览
  • Week 9-10 · 架构设计
  • Week 11 · 实现 + 调试
  • Week 12 · 部署 + 复盘
📚 资源 & 避坑
首页
  • Month 1 概览
  • Week 1 · Python 语法速成
  • Week 2-3 · FastAPI 实战
  • Week 4 · AI / LLM 基础
  • Month 2 概览
  • Week 5-6 · LangChain / LangGraph
  • Week 7-8 · RAG 检索增强生成
  • Month 3 概览
  • Week 9-10 · 架构设计
  • Week 11 · 实现 + 调试
  • Week 12 · 部署 + 复盘
📚 资源 & 避坑

Week 12:部署 + 复盘

🎯 本周目标:把你的 Agent 应用从"能在本地跑"变成"能让别人访问"。然后做项目复盘。

1. 部署选项

方案难度成本适合
本地 Docker低0自己电脑上跑,练手
Railway / Render低免费 tier 够用快速上线给别人试用
阿里云 / 腾讯云中几十/月国内用户,合规需求
Vercel + FastAPI Serverless中免费前端在 Vercel,后端 serverless
自建服务器(AWS / 云主机)高按需长期生产运行

💡 推荐先做 本地 Docker + Railway,两个都很简单。


2. 本地 Docker 化

为什么 Docker?

  • 一键打包,环境一致性(你的机器能跑,别人的也能)
  • 方便后续部署到任何支持 Docker 的云平台
  • TS 对照:相当于 docker build = 给你的 Node 项目写 Dockerfile

Dockerfile

# ===== 基础镜像 =====
FROM python:3.11-slim AS builder

# 工作目录
WORKDIR /app

# 系统依赖(chromadb 等可能需要)
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    && rm -rf /var/lib/apt/lists/*

# ===== 安装 Python 依赖 =====
# 先复制依赖文件,利用 Docker 缓存层
COPY pyproject.toml README.md ./
RUN pip install --no-cache-dir -U pip && \
    pip install --no-cache-dir fastapi uvicorn && \
    pip install --no-cache-dir pydantic pydantic-settings && \
    # 安装 LangGraph / LangChain 相关
    pip install --no-cache-dir langgraph langchain langchain-core langchain-openai langchain-community && \
    pip install --no-cache-dir langchain-chroma langchain-huggingface sentence-transformers langgraph-checkpoint-sqlite && \
    pip install --no-cache-dir httpx python-dotenv && \
    pip install --no-cache-dir langchain-text-splitters

# ===== 复制应用代码 =====
COPY app/ ./app/
COPY data/ ./data/

# ===== 启动命令 =====
# 用 uvicorn 启动,host 0.0.0.0 让容器外能访问
EXPOSE 8000
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]

docker-compose.yml(可选,推荐)

version: "3.8"

services:
  trading-ai:
    build: .
    container_name: electric-trading-ai
    ports:
      - "8000:8000"
    env_file:
      - .env
    volumes:
      - ./data:/app/data          # 数据持久化
      - ./chroma_db:/app/chroma_db
    restart: unless-stopped

构建和运行

# 方式一:docker-compose(推荐)
docker-compose up --build

# 方式二:纯 docker
docker build -t electric-trading-ai .
docker run -p 8000:8000 --env-file .env -v ${PWD}/data:/app/data electric-trading-ai

验证

打开浏览器 → http://localhost:8000/docs

能看到 Swagger UI 就说明 Docker 跑通了!


3. 云部署(Railway 示例)

Railway 提供免费额度,支持直接连 GitHub 仓库自动部署。

步骤

  1. 把代码推到 GitHub(记得把 .env 加进 .gitignore)
  2. 去 railway.app 用 GitHub 登录
  3. 点 "New Project" → "Deploy from GitHub repo"
  4. 选你的仓库,Railway 会自动检测是 Python 项目
  5. 在 "Variables" 里配置你的 .env 内容(LLM_API_KEY 等)
  6. Deploy → 等 1-2 分钟 → 拿到 https://xxx.up.railway.app 的域名
  7. 访问 https://xxx.up.railway.app/docs 验证

Railway 会自动帮你做什么?

  • 检测到 pyproject.toml → 用 Python 构建
  • 自动暴露端口(默认 8000)
  • 自动设置 PORT 环境变量
  • 自动分配 HTTPS 域名
  • 代码 push 到 GitHub 后自动重新部署

💡 TS 对照:Railway 之于 Python/FastAPI,就像 Vercel 之于 Next.js/Node.js。


4. 安全注意事项

风险怎么做
LLM API Key 泄露.env 加进 .gitignore,Never commit 真实 Key
Prompt Injection不要把用户输入直接拼进 system prompt
工具滥用给每个工具加权限检查(谁能下单、额度限制等)
敏感数据日志不要把 API Key、交易记录打到日志里
依赖安全定期 pip audit 检查漏洞

.gitignore 必须包含

# Python
__pycache__/
*.pyc
*.pyo
.venv/

# 环境变量
.env
.env.local

# 数据(ChromaDB、SQLite)
chroma_db/
data/*.db
data/*.sqlite

# Node.js(VuePress 学习文档)
docs/node_modules/
docs/.vuepress/dist/

# 系统
.DS_Store
Thumbs.db

# IDE
.vscode/
.idea/

5. 项目复盘

你完成了什么

模块实现状态
FastAPI 后端完整路由 + CORS✅
LangGraph Agent意图分析 + 工具调用 + 总结✅
交易工具get_stock_price / place_order / get_market_news✅
RAGChromaDB + 中文 Embedding + 检索✅
流式输出SSE + astream_events✅
会话记忆LangGraph Checkpointer + SQLite✅
DockerDockerfile + docker-compose✅
部署Railway 或本地 Docker✅

踩过的坑(你自己的 Lessons Learned)

回头想想这三个月遇到的 bug,把它们写进项目的 README.md 或单独的 LEARNINGS.md:

  • 什么问题卡了你最久?
  • 是怎么排查出来的?
  • 如果重来一遍你会怎么做?

后续可以优化的方向(长期)

方向为什么难度
多 Agent 协作一个 Agent 管交易,一个 Agent 管分析⭐⭐
真实行情 API替换 Mock 数据,接 Binance / AkShare⭐⭐
前端 UIReact + SSE,做出好看的聊天界面⭐⭐
Agent 评测用 RAGAS 评测 RAG 效果⭐⭐⭐
生产级向量库从 ChromaDB 换到 Milvus / Pinecone⭐⭐
监控日志加 LangSmith 追踪 Agent 每一步⭐⭐
语音输入/输出ASR + TTS 集成⭐⭐⭐

6. 三个月学完的你

你现在能做什么?

  • ✅ 独立搭建一个有 LLM + 工具 + RAG + 记忆的 AI Agent 应用
  • ✅ 用 LangGraph 编排 Agent 的行为流
  • ✅ 给项目接入真实的 API 和数据
  • ✅ 把 Agent 应用部署到云服务
  • ✅ 理解 Agent 的评估和优化方向

市场上这个水平值多少钱?

初级 AI Agent 工程师的市场薪资区间在 20k-40k(国内)/ 80k-150k(美元/年,海外)。你的 TypeScript 背景让你比纯后端更有优势——你能独立完成从前端 UI 到后端 Agent 的全栈开发。

下一步怎么走?

方向建议
找 AI Agent 相关工作把这个项目写进简历,用 Railway 部署一个 demo 链接
做副业把 Agent 做成 SaaS 小产品
继续深耕学 AutoGen / CrewAI 多 Agent 框架、Agent 评测、微调
切大模型应用学 LangChain Expression Language (LCEL) 高级用法、LangServe 部署

🎉 恭喜你完成三个月的学习! 记得回头看看你三个月前的代码,再看看现在——差距就是你的成长。