# LangChain课程代码 **Repository Path**: shinewin/LangChain-course-code ## Basic Information - **Project Name**: LangChain课程代码 - **Description**: 这是存储LangChain课程代码的仓库 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-06-22 - **Last Updated**: 2026-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LangChain 课程代码仓库 本仓库包含 LangChain 完整课程的所有代码示例,涵盖了从基础概念到高级应用的各个层面。通过本课程,您将学会如何使用 LangChain 构建强大的 AI 应用,包括 LLM 调用、工具集成、RAG 系统、Agent 开发、工作流编排等核心技能。 ## 📚 课程目录 | 章节 | 主题 | 主要内容 | |------|------|----------| | 01 | LangChain 核心与 LCEL | LangChain 基础概念、表达式语言、异步操作 | | 02 | 工具与结构化输出 | 工具定义、Pydantic 模型、响应格式 | | 03 | 核心组件详解 | 消息处理、聊天历史、状态管理 | | 04 | RAG 文档摄取 | 文档加载、向量存储、嵌入处理 | | 05 | 端到端 RAG | RAG 系统构建、检索增强生成 | | 06 | LangGraph 全面指南 | 状态定义、节点、边、图构建 | | 07 | 工作流模式 | 并行执行、路由选择、编排模式 | | 08 | 内存与持久化 | 检查点、时间旅行、长期记忆 | | 09 | 高级运行时 | 上下文传递、子图、流式输出 | | 10 | AI 租房助手 | 实际应用场景、综合案例 | | 11 | Agent V1 开发 | 旧版 Agent 构建、中间件 | | 12 | 中间件开发 | 自定义中间件、工具调用控制 | | 13 | Agent V1 进阶 | 流式输出、错误处理、权限控制 | | 14 | MCP 完整指南 | Model Context Protocol 服务器与客户端 | | 15 | 多代理系统 | 代理协作、任务分发、交接机制 | | 16 | 子代理指南 | 子代理调用、上下文传递 | | 17 | 交接完整指南 | 代理间状态转移、任务交接 | | 18 | 技能完整指南 | 动态技能加载、技能中间件 | | 19 | 路由与自定义工作流 | 智能路由、复杂流程编排 | | 20 | 课程总结 | 综合应用、最佳实践 | ## 🚀 快速开始 ### 环境要求 - Python 3.10+ - pip 包管理器 ### 安装依赖 ```bash # 克隆仓库 git clone cd LangChain-course-code # 安装依赖 pip install -r requirements.txt # 配置环境变量(根据需要设置 API Key) export OPENAI_API_KEY="your-api-key" export ANTHROPIC_API_KEY="your-api-key" ``` ## 📖 代码结构说明 ``` ├── 01_langchain_core_and_lcel/ # LCEL 核心语法 ├── 02_langchain_tools_and_structured_output/ # 工具与结构化输出 ├── 03_langchain_core_components/ # 核心组件 ├── 04_langchain_rag_document_ingestion/ # RAG 文档处理 ├── 05_langchain_rag_end_to_end/ # 端到端 RAG ├── 06_langgraph_comprehensive/ # LangGraph 基础 ├── 07_langgraph_core_workflow_patterns/ # 工作流模式 ├── 08_langgraph_memory_and_persistence/ # 内存管理 ├── 09_langgraph_advanced_runtime/ # 高级运行时 ├── 10_langgraph_ai_rental_assistant/ # 实战案例 ├── 11_langchain_v1_agent/ # Agent V1 ├── 12_langchain_middleware/ # 中间件开发 ├── 13_langchain_v1_agent/ # Agent V1 进阶 ├── 14_mcp_complete_guide/ # MCP 协议 ├── 15_multi_agent_complete_guide/ # 多代理系统 ├── 16_subagents_complete_guide/ # 子代理 ├── 17_handoffs_complete_guide/ # 交接机制 ├── 18_skills_complete_guide/ # 技能系统 ├── 19_router_custom_workflow/ # 路由工作流 ├── 20_course_summary/ # 课程总结 └── requirements.txt # 依赖列表 ``` ## 🎯 核心功能示例 ### 1. 工具定义示例 ```python from langchain_core.tools import tool @tool def calculate(a: int, b: int) -> int: """执行简单的数学计算""" return a + b ``` ### 2. LangGraph 状态管理 ```python from typing import TypedDict, List class AgentState(TypedDict): messages: List[str] context: dict result: str ``` ### 3. 中间件开发 ```python from langchain.agents import AgentMiddleware class CustomMiddleware(AgentMiddleware): def before_agent(self, state, runtime): # 前置处理逻辑 pass ``` ## 📝 主要技术栈 | 技术 | 说明 | |------|------| | LangChain | LLM 应用开发框架 | | LangGraph | 工作流/图编排引擎 | | Pydantic | 数据验证与序列化 | | Model Context Protocol | 模型上下文协议 | | OpenAI/Anthropic | LLM 提供商 | ## 🔧 进阶主题 ### 中间件系统 - 成本控制中间件 - 敏感词过滤 - 调用频率限制 - 工具错误处理 ### 工作流模式 - 顺序执行 - 并行处理 - 动态路由 - 人机协作 ### 内存管理 - 短期记忆 - 长期记忆 - 检查点存储 - 状态持久化 ## 📌 最佳实践 1. **工具设计**:使用 Pydantic 模型定义工具参数 2. **状态管理**:合理使用 TypedDict 和 Reducer 3. **错误处理**:为工具添加重试和回退机制 4. **性能优化**:使用异步操作和缓存 5. **调试便利**:添加日志和可视化工具 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request 来完善本课程。 ## 📄 许可证 本项目遵循 MIT 许可证开源。 ## 📞 联系方式 如有问题,请通过 Gitee 平台提交 Issue 或联系项目维护者。