langchain-course
7个递进项目吃透LangChain v1+和LangGraph:从Prompt模板到Agentic RAG
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
7个递进项目吃透LangChain v1+和LangGraph:从Prompt模板到Agentic RAG
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你刚学完调用 OpenAI API,心里正得意,却发现业界已经在聊"Agent"——能自主规划、调用工具、反思纠错的 AI 系统。LangChain 正是这个领域的核心框架,从最初的 v0.1 到如今的 v1+,它提供的抽象层让 AI Agent 开发从"黑客手写"变成了"框架级工程"。但官方文档案例零散、教程脱节,让很多开发者望而却步。emarco177/langchain-course 正是为此而生:一位有实战经验的工程师,用 7 个递进式真实项目,带你从零掌握 LangChain v1 和 LangGraph 开发 AI Agent 的全部核心能力。

图1:LangChain 官方品牌标识(来源:项目仓库 static/ 目录)
本课程作者 Eden Marco 是一位活跃的 AI 开发者,长期专注于 LangChain 生态。他的同名 Udemy 付费课程已有数万学生,而这个 GitHub 仓库是课程的完全免费开源版本,包含课程所有代码和完整的学习路径设计。与其他 LangChain 教程不同,emarco177 的课程不追求"知识点罗列",而是围绕真实场景设计项目——从最简单的 Hello World,到需要多步推理的 Code Interpreter,再到自我反思的 Reflection Agent,难度梯度清晰。
项目基于 LangChain v0.3+ 和 LangGraph 构建。LangChain v1 是框架的重大升级,引入了更清晰的 create_react_agent 接口、更规范的 Tool 定义方式,以及对多模态的初步支持。LangGraph 则是 LangChain 团队推出的状态机式 Agent 框架,用节点(Node)和边(Edge)建模 Agent 的工作流,支持循环、条件分支和多 Agent 协作——这比 LangChain 原生的 Chain 链式调用更灵活、更接近生产级需求。
从项目分支中可以看到三个典型的代码实现:
Hello World 分支(project/hello-world):演示 LangChain 最小接入方式,使用 PromptTemplate + ChatOpenAI(或 ChatOllama),只依赖 langchain-core、langchain-openai、langchain-ollama 三个包,约 50 行代码。这是整个课程的起点。
Code Interpreter 分支(project/code-interpreter):这是课程的核心项目之一,展示了如何让 AI Agent 执行真实代码。通过 create_react_agent 构建 ReAct 风格 Agent,配合 PythonREPLTool 实现沙箱代码执行,并扩展了 create_csv_agent 处理数据分析场景。依赖包括 langchain-experimental(包含实验性工具集)、pandas(数据分析)、pillow(图像处理)、qrcode(二维码生成)——展示 Agent 工具调用的广度。
Chat with PDF 分支(project/chat-wth-your-pdf):典型 RAG 实现,使用 PyPDFLoader 加载 PDF,CharacterTextSplitter 分块,OpenAIEmbeddings 生成向量,FAISS 作为向量数据库存储。核心链路是 create_retrieval_chain + create_stuff_documents_chain,完整演示了从文档解析到问答的 RAG 全流程。依赖 langchain-community 扩展生态。
课程设计分为三个递进阶段:
Phase 1 基础入门(Hello World + Code Interpreter):理解 LangChain 的核心抽象——Prompt、LLM、Output Parser、Tool。Code Interpreter 项目还引入了 ReAct(Reasoning + Acting)模式,这是大多数现代 Agent 的基础工作原理。
Phase 2 真实应用(Search Agent / Ice Breaker + Documentation Helper):集成外部 API(Tavily 搜索)到 Agent 工具链中。Ice Breaker 项目会分析社交媒体个人资料,整合 LinkedIn + Twitter 数据,展示了真实数据采集场景下的 Agent 设计。
Phase 3 高级架构(Reflection Agent + Reflexion Agent + Agentic RAG):这三个项目使用了 LangGraph 的状态机特性。Reflection Agent 实现了自我批判循环——Agent 执行任务后,将结果反馈给"评审 Agent",再决定是否重试。Agentic RAG 则结合了 RAG 检索增强和 Agent 的自主决策能力,是当前 RAG 系统的主流发展方向。
课程对学习者有一定要求:明确标注"这不是一门入门课",需要具备 Python 基础(类、测试、调试)、环境变量管理经验,以及 Git 使用能力。Python 版本要求 3.10+(部分分支要求 3.11+)。包管理使用 uv 而非 conda,依赖通过 pyproject.toml 管理,uv sync 一键安装。
值得注意的是,项目不强制绑定 OpenAI。README 明确支持三种 LLM 后端:OpenAI GPT 系列、Anthropic Claude(通过 langchain-anthropic)、本地 Ollama(通过 langchain-ollama)。这意味着课程内容不仅适用于有 API 预算的开发者,也适合想在本地 GPU 上实验的学习者。
第一,课程与 LangChain 生态同步的挑战。LangChain 本身处于快速迭代期,v0.3 到 v1 的 API 变化较大,部分早期分支的代码可能需要适配新版 API。作者通过 Claude GitHub Actions 自动化持续更新,这是一个值得关注的维护信号。
第二,教学代码不等于生产代码。课程目的是展示"如何用框架能力",而非"如何在生产环境稳定运行"。缺少错误处理、超时控制、并发管理等生产必需要素,学习者需要自己补齐这些工程能力。
第三,外部项目依赖分散。部分项目(如 Documentation Helper、Reflection Agent)在独立仓库中,学习者需要在多个仓库间切换,增加了跟踪难度。
LangChain 已成为 AI Agent 开发的事实标准框架之一,但其学习曲线陡峭、生态文档碎片化是公认痛点。emarco177/langchain-course 通过"项目驱动"的方式填补了这一空白——不是教框架 API 怎么用,而是用框架解决真实问题。这代表了 AI 开发教育的一个趋势:从"学语言/学框架"转向"做项目中学框架"。GitHub 1465 Stars 和持续更新的分支说明其社区认可度在稳步提升。对于想在 AI Agent 方向深耕的开发者,这是一个值得投入时间的系统性学习资源。