AI Engineering Hub:从 OCR、RAG 到多智能体系统的完整学习路径与项目实战索引
AI Engineering Hub 是一个面向 LLM、RAG 与 AI Agent 开发的开源项目合集,仓库内按"入门—进阶—高级"三级难度组织了 90 余个可运行的实战项目,从本地 OCR、基础 RAG 到微调推理模型与生产级智能体系统一应俱全。读完本文,你将掌握这个仓库的组织逻辑与选型依据,能沿 README.md 的分级清单找到适合自己阶段的项目,并理解其代表项目(如基于 LlamaIndex Workflow 的 RAG、基于 CrewAI + LitServe 的 Agentic RAG API)的源码结构与运行方式。
仓库定位:一个以"项目"为单位的 AI 工程学习库
仓库主文档 README.md 对项目的定位是"93+ Production-Ready Projects",覆盖所有技能层级,并提供三条明确的导航路径:
- 零基础入门:先阅读 AI Engineering Roadmap,获得从 Python 基础到生产级 AI 的完整学习路线图;
- 动手实践:从 Beginner Projects 的 OCR 应用与简单 RAG 起步;
- 进阶与精通:进入 Intermediate 的 Agent 工作流与 MCP 项目,再到 Advanced 的微调与生产系统。
从仓库实际目录结构看,项目目录数已增长到 113 个,超出了 README 标注的 93 个,说明该仓库处于持续更新中;README 中的项目清单可视为"精选主干",实际目录中还包括 grpo-finetuning-qwen3、colbert-rag、openai-swarm-ollama 等尚未进入主 README 清单的新增内容。
README 同时声明仓库采用 MIT License(见 LICENSE),贡献流程为 Fork → 新分支 → Pull Request;需要注意 README 中引用的 attention-is-all-you-need-impl、nvidia-demo 两个目录及 CONTRIBUTING.md 在当前仓库快照中并不存在,阅读清单时以实际存在的目录为准。
入门层(Beginner):单组件、可本地运行的最小闭环
入门项目的设计原则是"聚焦单一组件、实现直接",README 将其分为 OCR & Vision、Chat Interfaces & UI、Basic RAG、Multimodal & Media、Other Tools 五类。
OCR & Vision:本地视觉模型的四种实现
入门视觉项目均围绕"本地多模态模型 + Streamlit/Gradio 界面"展开,覆盖不同的开源模型选型:
| 项目 | 模型 | 侧重点 |
|---|---|---|
| LaTeX OCR with Llama | Llama 3.2 Vision | 将 LaTeX 公式图片转换为代码 |
| Llama OCR | Llama 3.2 | 100% 本地 OCR 应用(Streamlit) |
| Gemma-3 OCR | Gemma-3 | 结构化文本抽取 |
| Qwen 2.5 VL OCR | Qwen 2.5 VL | 通用文本抽取 |
四个项目对比的是同一任务(图片到文本/代码)在不同开源视觉模型上的表现,适合作为模型选型的第一组实验。
Basic RAG:以 simple-rag-workflow 为例理解最小 RAG 管线
基础 RAG 类包括 Simple RAG Workflow、Document Chat RAG、Fastest RAG Stack、GitHub RAG、ModernBERT RAG、Llama 4 RAG。其中 Simple RAG Workflow 是最小可运行的本地 RAG 参考实现,环境要求为 Python 3.10+ 与 Ollama,运行步骤为:
# 1. 安装 Ollama(macOS / Linux 相同)
curl -fsSL https://ollama.com/install.sh | sh
# 2. 拉取模型
ollama pull llama3.2
# 3. 保持 Ollama 服务在后台运行
ollama serve
然后运行 workflow.ipynb 查看效果。其核心逻辑在 workflow.py 中,值得逐段拆解:
class RAGWorkflow(Workflow):
def __init__(self, model_name="llama3.2", embedding_model="BAAI/bge-small-en-v1.5"):
...
self.llm = Ollama(model=model_name) # 本地 LLM
self.embed_model = HuggingFaceEmbedding(model_name=embedding_model)
Settings.llm = self.llm # 全局配置
Settings.embed_model = self.embed_model
- 入口与索引构建(ingest 步骤,L30-L39):通过
SimpleDirectoryReader(dirname).load_data()加载目录文档,再用VectorStoreIndex.from_documents建立向量索引,返回StopEvent结束本次运行; - 检索(retrieve 步骤,L41-L57):
index.as_retriever(similarity_top_k=2)取相似度最高的 2 个节点,包装为RetrieverEvent流向下一步。索引为空时会打印提示并中止,避免无意义的生成; - 合成(synthesize 步骤,L59-L65):使用
CompactAndRefine(streaming=True, verbose=True)将查询与检索节点逐条压缩、精炼成最终回答,并支持流式输出; - 对外暴露两个便捷方法:
ingest_documents(directory)负责入库、query(query_text)负责完整检索-生成(L67-L79)。
从源码结构看,该实现完整覆盖了"加载 → 向量化 → 检索 → 合成"四段式 RAG 管线,且默认参数(llama3.2、BAAI/bge-small-en-v1.5、top_k=2)全部可在 RAGWorkflow 构造函数中调整,是修改和扩展成本最低的起点。
进阶层(Intermediate):多组件系统与 Agentic 化改造
进阶项目的主线是把"检索"从单步流程升级为"智能体决策",同时引入 MCP 协议将能力外部化。
Agentic RAG:CrewAI + Web Search Fallback
Agentic RAG 是这一层的代表项目:用 CrewAI 编排检索智能体,当文档库检索不到答案时回退到 FireCrawl 网页搜索,并支持 DeepSeek-R1 或本地 Llama 3.2 两种模型后端。其 README 给出的安装与启动命令为:
pip install crewai crewai-tools chonkie[semantic] markitdown qdrant-client fastembed
streamlit run app_deep_seek.py # 使用 deep-seek-r1
streamlit run app_llama3.2.py # 使用本地 Llama 3.2
配套的 deploy-agentic-rag 则演示了如何把 Agentic RAG 私有化部署为 HTTP API。其 server.py 中,AgenticRAGAPI 继承 LitServe 的 ls.LitAPI:
class AgenticRAGAPI(ls.LitAPI):
def setup(self, device):
researcher_agent = Agent(
role="Researcher",
goal="Research about the user's query and generate insights",
tools=[SerperDevTool()], # 联网搜索工具
# llm=llm # 可选:LLM(model="ollama/qwen3") 走本地模型
)
writer_agent = Agent(role="Writer", goal="...write a concise and informative response...")
self.crew = Crew(agents=[...], tasks=[...], verbose=True)
def predict(self, query):
return self.crew.kickoff(inputs={"query": query})
需要注意的运行前提(见文件头部注释,L1-L13):需将 .env.example 复制为 .env 并填入 SERPER_API_KEY 与 OPENAI_API_KEY;如希望全本地运行,可执行 ollama pull qwen3 后取消 llm=LLM(model="ollama/qwen3") 注释。
其他进阶方向
- AI Agents & Workflows:YouTube Trend Analysis(CrewAI + BrightData)、Hotel Booking Crew(DeepSeek-R1 多智能体订票)、Zep Memory Assistant(拟人化记忆)、Agent with MCP Memory(Graphiti 记忆 + Opik 观测)、Book Writer Flow、ACP Code(Agent Communication Protocol 演示)等,覆盖了编排框架、记忆系统与智能体间通信三类能力;
- Voice & Audio:Real-time Voice Bot(AssemblyAI)、RAG Voice Agent(Cartesia 实时语音)、Chat with Audios(音频 RAG)、Multilingual Meeting Notes(多语种会议记录);
- Advanced RAG:RAG with Dockling(Excel/复杂文档解析)、Trustworthy RAG(TLM 可信 RAG)、Fastest RAG with Milvus and Groq(亚 15ms 检索延迟目标)、Chat with Code(Qwen3-Coder)、RAG SQL Router(RAG 与 SQL 路由结合);
- Multimodal:DeepSeek Multimodal RAG(Janus-Pro)、Colivara Website RAG(网页多模态 RAG)、Multimodal RAG with AssemblyAI(音频 + 向量库 + CrewAI)。
MCP(Model Context Protocol):智能体与外部工具的连接层
README 将 MCP 单列一类并给出 10 个项目,可按用途归为四组:
- RAG 场景:MCP Agentic RAG(Cursor 中的 MCP RAG)、MCP Agentic RAG Firecrawl、EyeLevel MCP RAG、LlamaIndex MCP、MCP Video RAG;
- 搜索与抓取:Cursor Linkup MCP(深度网络搜索)、MCP Voice Agent(Firecrawl + Supabase 语音智能体);
- 数据与 ML 基础设施:SDV MCP(合成数据)、KitOps MCP(ML 模型管理)、Stagehand × MCP-Use(Web 自动化);
- 演示入口:以上项目普遍采用"MCP Server + 客户端应用"的双文件结构,例如 mcp-agentic-rag 的
server.py定义工具端点、rag_code.py承载检索逻辑,可作为自建 MCP Server 的模板。
模型对比与评估
进阶层还内置一组"同一任务、不同模型"的对比实验,全部基于 RAG 任务与 Opik 评估框架:Llama 4 vs DeepSeek-R1、Qwen3 vs DeepSeek-R1、O3 vs Claude Code、Sonnet4 vs O4、Sonnet4 vs Qwen3-Coder、Code Model Comparison、GPT-OSS vs Qwen3,以及端到端评估方法论示例 Evaluation and Observability。每个项目都附带 eval-data/(评估问题集)与 evaluation.ipynb,可直接复现对比流程。
高级层(Advanced):微调、复杂系统与生产部署
微调与模型开发
- DeepSeek Fine-tuning:使用 Unsloth + Ollama 微调 DeepSeek,核心在 Fine_tune_DeepSeek.ipynb;
- Build Reasoning Model:用 GRPO 训练 DeepSeek-R1 风格的推理模型,见 Own_reasoning_model_with_GRPO.ipynb。
高级 Agent 系统
这一组项目强调"多阶段流水线 + 外部记忆 + 合规约束":Multi-Agent Deep Researcher(MCP 驱动的深度研究)、Multiplatform Deep Researcher(BrightData 多平台研究)、Web Browsing Agent(CrewAI + Stagehand 浏览器自动化)、Paralegal Agent Crew(带 RAG 的法律辅助智能体)、FireCrawl Agent(带网页搜索回退的纠正式 RAG)、Context Engineering Workflow(TensorLake + Zep 研究助手)、Documentation Writer Flow、Parlant Conversational Agent(合规驱动的对话智能体)、Stock Portfolio Analysis Agent(含 React 前端)、Guidelines vs Traditional Prompt(结构化指南对比)。
MCP 基础设施与生产系统
- MCP 基础设施:MindsDB MCP(统一数据源接入)、Financial Analyst DeepSeek、Graphiti MCP(Zep Graphiti 持久记忆)、Pixeltable MCP(多模态数据编排)、Ultimate AI Assistant(多 MCP Server 聚合界面);
- 生产系统:GroundX Document Pipeline(文档处理管线,附 evaluation_geval.py 评估脚本)与 NotebookLM Clone(含 RAG、引用溯源与播客生成的完整实现)。
学习路线:README 指出的 10 步进阶路径
ai-engineering-roadmap/README.md 给出了与本仓库项目相互印证的学习主线,其"Learning Path Summary"为:
- Foundation:Python 基础(推荐 Harvard CS50p,9 周);
- AI Basics:AI with Python(DeepLearning.AI 4 小时课程);
- Mathematics:线性代数 / 概率 / 统计(Khan Academy 播放列表);
- Understanding LLMs:3Blue1Brown 神经网络可视化系列;
- Research:Andrej Karpathy "Neural Networks: Zero to Hero",从零构建神经网络;
- Agents:先读 Anthropic《Building Effective Agents》,理解"可组合模式"而非复杂框架;
- Application:CrewAI 多智能体系统课程;
- Integration:MCP 协议(配套指南含 10+ 动手项目);
- Practice:本仓库的 75+(现已 90+)项目实战;
- Mastery:Chip Huyen《AI Engineering》书籍,深入生产级 AI 工程。
这条路线与仓库的难度分级严格对应:第 4–5 步对应理解层,第 6–8 步对应 Intermediate 的 Agent/MCP 项目,第 9 步直接落到本仓库,第 10 步则由 Advanced 生产系统项目承接。
使用方式与选型建议
获取仓库:
git clone https://gitcode.com/GitHub_Trending/ai/ai-engineering-hub.git
基于前文的项目结构,给出三条可操作的选型建议:
- 只有一台能跑 Ollama 的机器:从 simple-rag-workflow(
ollama pull llama3.2+ollama serve即可运行)或任一本地 OCR 项目起步,全部离线闭环; - 想理解智能体编排:按 agentic_rag → deploy-agentic-rag → hotel-booking-crew 的顺序,依次覆盖"检索增强 → API 化部署 → 多工具多智能体"三个层次,三者均为 CrewAI 技术栈,学习曲线连续;
- 想自建 MCP 工具生态:优先通读 mcp-agentic-rag 与 cursor_linkup_mcp 的
server.py,它们展示了工具注册与检索逻辑分离的最小模板。
仓库整体采用 MIT License(LICENSE),每个项目目录自带独立 README、依赖声明(pyproject.toml 或 requirements.txt)与示例 Notebook,可独立复制、改造并集成进自己的项目。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0622
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00