AI Agent Portfolio - 实战项目
完整的 AI Agent 开发学习项目,包含 RAG 客服 Agent、文档生成 Workflow、LLM 评估系统三个实战项目。
项目概览
#nfTyhMDQRCln text { white-space: pre; }#nfTyhMDQRCln .fb0 { stroke: var(--N900-FG, 0.15); }#nfTyhMDQRCln .fb0 {stroke: rgba(31,35,41, 0.15)}#nfTyhMDQRCln .fx0 { stroke-miterlimit: 10; }#nfTyhMDQRCln .fx0 {stroke-miterlimit: 10}#nfTyhMDQRCln .fa1 { fill: rgb(187, 191, 196); }#nfTyhMDQRCln .fa1 {fill: rgb(187, 191, 196)}#nfTyhMDQRCln .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#nfTyhMDQRCln .fx1 {font-style: normal}#nfTyhMDQRCln .fx2 { text-anchor: middle; }#nfTyhMDQRCln .fx2 {text-anchor: middle}#nfTyhMDQRCln .fx3 { dominant-baseline: central; }#nfTyhMDQRCln .fx3 {dominant-baseline: central}#nfTyhMDQRCln .fx4 { stroke: none; }#nfTyhMDQRCln .fx4 {stroke: none}#nfTyhMDQRCln .fc0 { fill: var(--text-caption); }#nfTyhMDQRCln .fc0 {fill: #646a73}#nfTyhMDQRCln .fa2 { fill: var(--text-link-disabled); }#nfTyhMDQRCln .fa2 {fill: rgb(187, 191, 196)}#nfTyhMDQRCln .fx5 { font: 700 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#nfTyhMDQRCln .fx5 {font-style: normal}#nfTyhMDQRCln .fx6 { text-anchor: start; }#nfTyhMDQRCln .fx6 {text-anchor: start}#nfTyhMDQRCln .fx7 { dominant-baseline: alphabetic; }#nfTyhMDQRCln .fx7 {dominant-baseline: alphabetic}#nfTyhMDQRCln .fc1 { fill: rgb(0, 0, 0); }#nfTyhMDQRCln .fc1 {fill: rgb(0, 0, 0)}#nfTyhMDQRCln .fx8 { font: 400 13px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#nfTyhMDQRCln .fx8 {font-style: normal}#nfTyhMDQRCln .fb1 { fill: var(--N900-FG, 0.15); }#nfTyhMDQRCln .fb1 {fill: rgba(31,35,41, 0.15)}#nfTyhMDQRCln .fb2 { fill: rgb(209, 217, 224); }#nfTyhMDQRCln .fb2 {fill: rgb(209, 217, 224)}#nfTyhMDQRCln .fa3 { fill: var(--bg-body); }#nfTyhMDQRCln .fa3 {fill: #fff}ABC1234项目技术栈核心特性RAG增强的客服Agent多步骤文档生成WorkflowLLM评估系统LangChain + Pinecone + OpenAILangGraph + 状态机 + OpenAIPython + scipy + scikit-learnRAG架构、向量检索、ReAct推理工作流编排、状态机、错误处理Benchmark设计、评估体系、A/B测试
架构关系
代码块
Plain Text
Day 1 (原子能力) → Day 2 (编排层) → Day 3 (验证层)
↓ ↓ ↓
RAG客服Agent 文档生成Workflow 评估系统
↓ ↓ ↓
单一任务解决 多步骤编排 量化反馈
项目结构
代码块
Plain Text
ai-agent-portfolio/
├── 1-rag-agent/ # RAG客服Agent
│ ├── src/
│ │ ├── rag_engine.py
│ │ └── agent.py
│ ├── app.py
│ └── README.md
├── 2-workflow/ # 文档生成Workflow
│ ├── src/
│ │ └── workflow.py
│ ├── app.py
│ └── README.md
├── 3-evaluation/ # LLM评估系统
│ ├── src/
│ │ └── evaluator.py
│ ├── app.py
│ └── README.md
└── README.md # 本文件
快速开始
RAG客服Agent
代码块
Plain Text
cd 1-rag-agent
pip install -r requirements.txt
streamlit run app.py
核心功能:
•
基于语义检索的 RAG 知识库
•
ReAct 推理 Agent
•
多轮对话支持
•
Guardrails 防护机制
技术亮点:
•
自适应 Chunking 策略(512 token + 50 token overlap)
•
相似度阈值过滤(0.7)提升检索精度
•
ConversationBufferMemory 实现上下文管理
文档生成Workflow
代码块
Plain Text
cd 2-workflow
pip install -r requirements.txt
核心功能:
•
5 阶段文档生成流程(PLANNING → DRAFTING → REVIEWING → FINALIZING)
•
自动重试和错误恢复
•
并行生成多章节
•
批量处理支持
技术亮点:
•
LangGraph 状态机设计
•
Exponential Backoff 重试策略
•
可扩展的节点架构
•
自动质量审核机制
LLM评估系统
代码块
Plain Text
cd 3-evaluation
pip install -r requirements.txt
streamlit run app.py
核心功能:
•
多维度评估指标(Accuracy、F1、Semantic Similarity)
•
A/B 测试系统
•
统计显著性检验(t-test)
•
自动生成 HTML 报告
技术亮点:
•
自定义评估指标(F1、BLEU、语义相似度)
•
95% 置信区间计算
•
ThreadPoolExecutor 并行评估
•
可视化结果展示
技术栈
•
AI/ML 框架: LangChain, LangGraph, OpenAI API
•
向量数据库: Pinecone
•
数据科学: scipy, scikit-learn, numpy
•
Web 应用: Streamlit
•
编程语言: Python 3.8+
学习成果
完成这 3 个项目后,你将掌握:
Day 1 - 基础能力
•
✅ RAG 架构原理(向量检索、Chunking、Embedding)
•
✅ Agent 设计模式(ReAct、工具调用、记忆管理)
•
✅ LangChain 框架使用
•
✅ Streamlit 快速部署
Day 2 - 编排能力
•
✅ 状态机设计(LangGraph)
•
✅ 工作流编排(多步骤协作)
•
✅ 错误处理策略(重试、降级)
•
✅ 并行优化(异步执行)
Day 3 - 评估能力
•
✅ 评估指标设计(Accuracy、F1、Semantic Similarity)
•
✅ A/B 测试方法(统计检验)
•
✅ 数据驱动优化(基于评估迭代)
•
✅ 报告生成(可视化)
部署指南
Streamlit Cloud 部署
将项目推送到 GitHub
访问 Streamlit Cloud
点击 "New app"
选择仓库和分支
指定主文件路径(如 1-rag-agent/app.py)
点击 "Deploy"
Docker 部署
代码块
Plain Text
# 构建镜像
docker build -t ai-agent-portfolio -f 1-rag-agent/Dockerfile .
# 运行容器
docker run -p 8501:8501 ai-agent-portfolio
本地开发
所有项目都提供了简化版演示,无需 API key 也能运行基础功能。
扩展方向
Day 1 扩展
•
添加更多工具(天气、新闻等)
•
支持多模态(图片、语音)
•
集成实际数据库
•
添加用户管理
Day 2 扩展
•
支持更多文档类型(PDF、Word)
•
添加人工审核环节
•
实现版本控制
•
支持协作编辑
Day 3 扩展
•
添加更多评估指标(BLEU、ROUGE)
•
支持在线评估(实时监控)
•
集成更多 LLM 提供商
•
自动化评估流程
项目特色
•
🎯 实战导向: 从 0 到 1 完整实现
•
📚 文档完善: 详细的设计文档和代码注释
•
🚀 可扩展性: 清晰的架构,易于扩展
•
💡 最佳实践: 遵循 AI Agent 开发规范
•
🧪 测试驱动: 完整的评估体系
性能指标
表格加载中...
常见问题
Q1: 如何选择 Chunking 策略?
A: 推荐 512 token chunk + 50 token overlap,平衡上下文完整性和检索精度。
Q2: RAG 的检索阈值如何设置?
A: 建议 0.7 相似度阈值,过滤低质量检索结果。
Q3: 如何提高 Agent 的可靠性?
A: 添加多层 Guardrails 防护,实现自动重试机制。
Q4: A/B 测试需要多少样本?
A: 每个 variant 至少 30 个样本(中心极限定理)。
Q5: 如何判断统计显著性?
A: 使用 t-test,p-value < 0.05 表示差异显著。