基于LangGraph的自主AI框架

一个用于构建自主、有状态、面向目标的AI系统的框架,支持复杂多步推理和任务执行。

  • by tb91117
  • Jupyter Notebook
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 tb91117/LangGraphwise

使用说明

Agentic AI with LangGraph

Build autonomous, stateful, and goal-oriented AI systems capable of complex multi-step reasoning.



📖 概述

此存储库演示了 AI 代理 系统使用 LangGraph与传统的无状态生成人工智能不同,该框架能够创建 自主代理 它可以计划、执行、记住上下文,并协作解决复杂的任务。

它既是一个 学习课程 和一个 参考实现 用于构建生产就绪的代理工作流,涵盖从基本顺序链到复杂多代理编排的所有内容 模型上下文协议(MCP).

🧬 什么是AgentAI?

AgentAI描述了由以下定义的系统:

  • 自主性:代理独立计划和执行子任务。
  • 编排:工作流程通过共享协议(MCP)进行协调。
  • 可组合性:代理和图是模块化的、可重用的和可测试的。

🛣️ 路线图和课程

🎓 学习路径

  • 基础水平
    • 代理人工智能基础:核心概念和原则
    • 语言图形基础:状态机和工作流设计
  • 中级水平
    • 高级语言图:复杂的路由和错误处理
    • AI代理:代理设计模式和架构
  • 高级水平
    • RAG代理:使用代理进行检索增强生成
    • 生产部署:扩展和监测战略

🛠️ 核心组件

该系统围绕这些模块化和可互操作的组件构建:

  1. 代理

    • 说明: 具有特定角色、记忆、工具和目标的自治实体。
    • 示例: PlannerAgent (分解目标), ResearchAgent (收集数据), ExecutionAgent (运行任务)。
  2. LangGraph状态机

    • 说明: 定义代理转换、执行流和动态任务路由的中央编排器。
    • 主要特点: 警告有状态DAG、条件路由、并发和检索。
  3. MCP消息层

    • 说明: 结构化消息交换协议,包括 Message, Thread, Step,以及 Run 对象追踪代理推理。
  4. 内存和上下文存储

    • 说明: 长期和短期记忆(线程级历史、特定于代理的上下文、RAG的向量DB)。
  5. 工具和界面

    • 说明: 外部功能(Web搜索、代码解释器、API客户端)抽象为可调用节点。
  6. 任务路由器/控制器

    • 说明: 用于分配子任务的集中计划或分布式协商机制。
  7. 可观察性和调试

    • 说明: 通过LangGraph可视化工具和日志中间件进行日志记录、跟踪和监控。

⚖️ GenAI 与 AgenticAI

特征 生成式人工智能(GenAI) 代理式人工智能
主输出 非结构化内容(文本、图像、音频) 自主任务执行的结构化输出
执行流程 无状态单步推理 有记忆的有状态迭代多步推理
建筑 单片线性管道 模块化、事件驱动的多智能体系统(DAG)
决策 快速条件输出 目标导向规划和动态上下文跟踪
自主性 被动回应询问 主动决策
控制流程 快速工程 有限状态机和反应性策略
记忆 短暂的(有限的上下文) 持久的、结构化的记忆
工具使用 手动编写脚本/模板 通过MCP动态选择工具
可扩展性 受模型/上下文大小的限制 通过专业代理进行横向扩展
调试性 不透明推理 透明工作流和可追踪节点

📂 项目结构

Agentic_AI_using_LangGraph/
├── 01_Foundation_of_AgenticAI/       # Basic concepts and functional nodes
├── 02_Sequential_&_Parallel_workflow/# Linear and parallel chain executions
├── 03_Conditional_Workflow/          # Dynamic routing based on logic (Router)
├── 04_Iterative_Workflows/           # Loops and retry mechanisms
├── 05_Structured_ai_chatbot/         # Schema-driven agent responses
├── 06_Conversational_ai_chatbot/     # Advanced chatbots with memory
├── 07_LangsSmith/                    # Tracing and observability setup
├── _img/                             # Assets and diagrams
├── main.py                           # Entry point for testing
└── requirements.txt                  # Project dependencies

🚀 入门指南

先决条件

  • Python 3.9+
  • Git
  • API密钥:OpenAI、Anthropic或HuggingFace。

安装

我们建议使用 uv 用于快速依赖管理,但标准 pip 效果也不错。

  1. 克隆存储库

    git clone https://github.com/mohd-faizy/Agentic_AI_using_LangGraph.git
    cd Agentic_AI_using_LangGraph
    
  2. 设置环境

    使用 uv (推荐):

    uv venv
    source .venv/bin/activate       # macOS/Linux
    .venv\Scripts\activate          # Windows
    uv add -r requirements.txt
    

    使用 pip:

    python -m venv venv
    source venv/bin/activate        # macOS/Linux
    venv\Scripts\activate           # Windows
    pip install -r requirements.txt
    
  3. 配置 创建一个 .env 文件:

    cp .env.example .env
    

    添加您的密钥:

    OPENAI_API_KEY=sk-...
    LANGCHAIN_API_KEY=...
    

⚡ 快速开始

from langgraph.graph import StateGraph, END
from typing import TypedDict

# 1. Define State
class AgentState(TypedDict):
    messages: list

# 2. Define Nodes
def agent_node(state: AgentState):
    return {"messages": ["Agent processing..."]}

# 3. Build Graph
workflow = StateGraph(AgentState)
workflow.add_node("agent", agent_node)
workflow.set_entry_point("agent")
workflow.add_edge("agent", END)

# 4. Compile & Run
app = workflow.compile()
print(app.invoke({"messages": ["Init"]}))

🤝 贡献与支持

欢迎投稿!如果您觉得此存储库有用,请 星 它

📄 许可证

根据MIT许可证分发。看 LICENSE 了解更多信息。