从RAG到Agent,从零构建代码智能系统的完整实践
本项目是一个轻量级的代码智能系统,包含了RAG(检索增强生成)、Agent(智能代理)和评估系统的完整实现。项目从TinyRAG扩展而来,专注于代码场景的优化和实践。
本仓库包含三篇深度技术文章,记录了从RAG到Agent的完整构建过程:
- 📅 2025-06-18
- 🎯 RAG系统构建
- 📖 详细介绍如何从零构建专为代码优化的RAG系统
- 🔧 涵盖向量化、代码分块、向量存储、LLM封装等核心模块
- 📅 2025-06-28
- 🎯 Agent系统构建
- 🤖 基于ReAct范式实现智能代理
- 🛠️ 包含工具调用、代码检查、谷歌搜索等功能
- 📅 2025-08-05
- 🎯 LangGraph框架实践
- 📈 从手写Agent到LangGraph框架的进化
- 💾 涵盖基础聊天、工具调用、记忆管理等核心功能
TinyCodeBase/
├── 🔍 RAG/ - 检索增强生成系统
│ ├── embeddings.py # 向量化引擎
│ ├── chunker_text.py # 通用文本分割器
│ ├── chunker_code.py # 代码专用分割器 ⭐
│ ├── vector_base.py # 轻量向量数据库
│ ├── llm.py # LLM接口封装
│ ├── tiny_code_rag.py # RAG系统整合
│ └── test_*.py # 各模块测试文件
└── 🤖 agent/ - 智能体
├── agent.py # ReAct范式Agent
├── agent_langgraph.py # LangGraph框架Agent
├── tools.py # 工具函数集合
├── tree_sitter_parser.py # 代码解析器
└── test_agent.py # Agent测试
✅ 代码智能分块:专门解析代码数据结构,构建精准向量集
✅ 开箱即用:提供专用的测试API key
✅ 模块化测试:每个组件都有独立测试用例,更适合新手学习
✅ 对话体验优化:完整支持多轮上下文对话
🤖 ReAct范式:思考-行动-观察-总结的完整流程
🔍 谷歌搜索:基于Serper API的实时信息检索
🛠️ 代码检查:基于TreeSitter的语法错误检测
🔄 工具调用:灵活的外部工具集成机制
📊 状态管理:清晰的状态定义和流转控制
🔧 工具集成:简化的工具调用和条件分支
💾 记忆系统:短期记忆(Checkpointer)和长期记忆(Store)
🎨 可视化:自动生成Agent流程图
git clone https://github.com/codemilestones/TinyCodeBase.git
cd TinyCodeBase
pip install -r requirements.txtcd RAG
python tiny_code_rag.pycd agent
python agent.py # ReAct范式Agent
python agent_langgraph.py # LangGraph框架Agent这个项目不仅仅是代码实现,更是一个完整的学习资源:
- 📝 理论与实践结合:每个模块都有对应的技术文章
- 🧪 可运行的代码:所有示例都经过测试验证
- 📈 渐进式学习:从基础RAG到高级Agent的完整路径
- 🛠️ 生产就绪:包含评估系统和完整的工程实践
✨ 欢迎Star/Fork/Issue三连!你的反馈是我持续优化的动力~