当前位置: 首页 > news >正文

LangGraph基础教程

LangChain 基础教程

本系列教程将带你了解 LangChain 和 LangGraph 的基础知识,学习如何构建智能体应用。

🌟 背景介绍

在 LangChain,致力于让构建大语言模型应用变得简单。你可以构建的一种大语言模型应用是智能体(agent)。构建智能体令人兴奋,因为它们可以自动化许多以前不可能完成的任务。

🤔 现实挑战

但在实践中,构建能够可靠执行这些任务的系统是极其困难的。在与用户合作将智能体投入生产的过程中,我们了解到通常需要更多的控制。你可能需要智能体:

  • 总是先调用特定工具
  • 根据其状态使用不同的提示
  • 具备更精确的控制能力

💡 解决方案:LangGraph

为了解决这个问题,构建了 LangGraph —— 一个用于构建智能体和多智能体应用的框架。

LangGraph 的特点:

  • 独立于 LangChain 包
  • 核心设计理念:帮助开发者在智能体工作流中添加更好的精确性和控制
  • 适用于现实世界系统的复杂性

📖 课程结构

课程结构化为一系列模块,每个模块专注于与 LangGraph 相关的特定主题:

📁 文件组织

  • 模块文件夹:每个模块都有独立的文件夹
  • 笔记本系列:每个文件夹包含一系列教学笔记本
  • 视频配套:每个笔记本都配有讲解视频
  • 独立学习:笔记本可以独立于视频查看
  • Studio 文件夹:包含可加载到 LangGraph Studio 的图形文件

LangGraph Studio 是专门用于构建 LangGraph 应用的集成开发环境(IDE)。


⚙️ 环境设置

开始学习之前,请确保完成以下设置步骤:

1. 创建环境

按照项目 README 中的说明创建 Python 环境并安装依赖项。

2. 安装必要的包

pip install --quiet -U langchain_openai langchain_core langchain_community tavily-python

3. 配置 API 密钥

你需要设置以下 API 密钥:

  • OPENAI_API_KEY:用于访问 OpenAI 的聊天模型
  • TAVILY_API_KEY:用于搜索功能(可选)

🤖 聊天模型详解

什么是聊天模型?

在本课程中,我们将使用聊天模型,它们的工作原理是:

  • 输入:接受一系列消息
  • 输出:返回聊天消息

🔗 第三方集成

重要说明:LangChain 不托管任何聊天模型,而是依赖第三方集成。

查看完整的集成列表:LangChain 聊天模型集成

🎯 推荐模型:ChatOpenAI

默认情况下,课程使用 ChatOpenAI,原因:

  • ✅ 受欢迎且广泛使用
  • ✅ 性能优异
  • ✅ 稳定可靠

💰 费用说明

  • 新用户福利:首次注册 API 可获得免费积分
  • 定价信息:查看官方定价页面
  • 模型推荐
    • gpt-4o:质量、价格、速度的最佳平衡(推荐)
    • gpt-3.5-turbo:更经济的选择

🛠️ 实践操作

配置聊天模型

import os
os.environ["MOONSHOT_API_KEY"] = "..."
from langchain_community.chat_models.moonshot import MoonshotChat
from langchain_core.messages import HumanMessage, SystemMessage
chat = MoonshotChat(model="kimi-k2-0711-preview")

🌡️ 重要参数说明

Temperature(温度)参数

  • 低温度(接近 0)
    • 更确定性和专注的输出
    • 适用于需要准确性或事实性回应的任务
  • 高温度(接近 1)
    • 更有创造性和多样性
    • 适用于创造性任务或生成多样化回应

步骤 3:使用聊天模型

方法一:使用消息对象
from langchain_core.messages import HumanMessage# 创建一条消息
msg = HumanMessage(content="你好", name="Lance")# 消息列表
messages = [msg]# 用消息列表调用模型
chat.invoke(messages)
# 回复:
AIMessage(content='你好!很高兴见到你 😊  \n有什么我可以帮你的吗?', additional_kwargs={}, response_metadata={'token_usage': {'completion_tokens': 15, 'prompt_tokens': 8, 'total_tokens': 23, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'kimi-k2-0711-preview', 'system_fingerprint': None, 'finish_reason': 'stop', 'logprobs': None}, id='run--106bd2c7-2d6d-4ba5-b6f9-7345256be5f8-0')
方法二:直接使用字符串
# 直接传入字符串(会自动转换为 HumanMessage)
chat.invoke("介绍一下自己")

📋 常用方法

LangChain 聊天模型提供多种默认方法:

  • stream:流式返回响应块
  • invoke:在输入上调用链(最常用)

🔄 模型切换

所有聊天模型的接口都是一致的,这意味着:

  • 模型通常在每个笔记本启动时初始化一次
  • 可以轻松在不同模型间切换而无需更改下游代码
  • 支持多种提供商的无缝切换

🔍 搜索工具集成

介绍 Tavily

Tavily 是一个专为大语言模型和 RAG(检索增强生成)优化的搜索引擎。

✨ Tavily 的优势

  • 🚀 高效快速:专为 LLM 优化的搜索结果
  • 🎯 持久稳定:提供可靠的搜索服务
  • 💰 慷慨免费层:注册简单,免费额度充足
  • 🔧 易于集成:与 LangChain 无缝集成

🛠️ 配置和使用

步骤 1:设置 API 密钥
_set_env("TAVILY_API_KEY")
步骤 2:创建搜索工具
from langchain_community.tools.tavily_search import TavilySearchResults# 创建搜索工具(最多返回3个结果)
tavily_search = TavilySearchResults(max_results=3)
步骤 3:执行搜索
# 搜索 LangGraph 相关信息
search_docs = tavily_search.invoke("LangGraph是什么?")
print(search_docs)
搜索结果
[{'title': 'langgraph设计解读-简介以及示例- 解码AI | 无限可能的创造力与想象力','url': 'https://yang20150702.github.io/2024/04/22/langgraph-part1/','content': 'langgraph 是一个使用LLM来构建有状态的、multi-actor应用程序的库。\n它扩展了 LangChain Expression Language的能力,能够以循环的方式跨多个计算step来协调多个chains(或者actors)。\nlanggraph 的灵感来自 Pregel 和 Apache Beam。暴露的接口借鉴了 NetworkX。\n\nPregel 是由Google发布的大规模图处理系统,基于BSP(Bulk Synchronous Parallel,整体同步并行)模型来实现。\nApache Beam:一个用于定义批处理和流数据并行处理管道的统一模型。\nNetworkX是一个 Python 包,用于创建、操作和研究复杂网络的结构、动态和功能。\n\nlanggraph的核心点是为LLM应用程序添加了循环。','score': 0.9094659},{'title': '彻底搞懂LangGraph【之三】:构建一个创作电影脚本的多智能体应用','url': 'https://developer.volcengine.com/articles/7389518901443231781','content': 'LangGraph是著名的大模型开发框架LangChain推出的用于构建基于复杂工作流的LLM应用的开发库。LangGraph把任务的节点与关系用Graph结构来定义以支持更多样更复杂的应用场景,特别是:\n\n   实现包含循环、迭代等复杂工作流的高级RAG范式\n   需要更灵活控制的Agent应用,如指定Tool、增加人机交互等\n   多智能体系统(Multi-Agent System)的构建\n\n我们在之前的文章中曾经介绍过LangGraph实现C-RAG,本文将分享一个如何使用LangGraph构建 一个创作电影场景与脚本的多智能体应用 。\n\nImage 7: picture.image\n\nImage 8: picture.image\n\n如果你需要回顾LangGraph,请参考:\n\n彻底搞懂LangGraph:构建强大的Multi-Agent多智能体应用的LangChain新利器\n\n彻底搞懂LangGraph【之二】:构建一个可自我纠正的增强知识库RAG应用\n\nImage 9: picture.image\n\nImage 10: picture.image\n\n关于多智能体系统','score': 0.8991304},{'title': '一文搞懂LangChain 新利器:LangGraph 原创 - CSDN博客','url': 'https://blog.csdn.net/musicml/article/details/136441895','content': '[from _langgraph_.graphimportSTART, END # 定义输入的模式 classInputState(TypedDict)_:_ question _:_ str llm_answer _:_ Optional[str]# 表示 answer 可以是 str 类型,也可以是 None # 定义输出的模式 classOutputState(TypedDict)_:_ answer _:_ str #将 InputState 和 OutputState 这两个 TypedDict 类型合并成一个更全面的字典类...](\n\n_LangGraph_ 简介\n\n大多_C的博客\n\n06-01Image 49 1607 \n\n_LangGraph_ 是 _LangChain_ 的一个扩展,旨在通过将步骤建模为图中的边缘和节点,构建具有大型语言模型(LLMs)的强大和有状态的多角色应用程序。_LangGraph_ 提供了用于创建常见类型代理的高级接口,以及用于组合自定义流程的低级 API。 [...] Image 11Image 12点赞数 21 \n\n文章标签:langchain\n\n 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。 \n\n 本文链接:\n\n版权\n\nImage 13MCP技术社区 文章已被社区收录\n\n加入社区\n\n▼最近直播超级多,预约保你有收获\n\n今天直播:《RAG和GPTs构建Agent产业应用落地实战》\n\n_\\_—\\_ \\_1\\__ _—_\n\nLangGraph 技术架构解读\n\nLangGraph 是一个有用于构建有状态和多角色的 Agents 应用,它并不是一个独立于 Langchain 的新框架,而是基于 Langchain 之上构建的一个扩展库,可以与 Langchain 现有的链(Chains)、LangChain Expression Language(LCEL)等无缝协作。LangGraph 能够协调多个 Chain、Agent、Tool 等共同协作来完成输入任务,支持 LLM 调用“循环”和 Agent 过程的更精细化控制。 [...] _LangGraph_ 是一个基于 _LangChain_ 构建的扩展。_LangGraph_ 是一个用于构建具有状态和多参与者应用程序的 LLM 库,它允许创建具有循环的图,这在大多数智能体架构中是必需的。_LangGraph_ 提供了对应用程序流程和状态的细粒度控制,这对于创建可靠的智能体至关重要,并且 _LangGraph_ 还内置了包括持久化对话,支持高级的人机交互和记忆功能。\n\n_langchain_ 系列(六)- _LangGraph_ 入门以及介绍\n\n5-23\n\n二、LangGrah介绍 1、基础介绍 2、_LangChain_ 各版本图示 三、为什么使用 _LangGraph_ 1、链(Chain)的局限性 2、AgentExecutor的局限性 3、_LangGraph_ 解决的问题 四、_LangGraph_ 核心思想 1、核心概念 (1)state 状态 (2)node 节点 (3)edge 边 2、流程说明\n\n一步步教你 _LangGraph_ Studio _:_ 可视化调试基于 _LangGraph_ 构建的AI智能...\n\n5-25','score': 0.8893851}]

🎓 课程总结

🎉 恭喜!你已经完成了基础教程

通过本教程,你已经学会了:

✅ 核心概念
  • 理解了 LangChain 和 LangGraph 的作用和价值
  • 掌握了智能体应用的基本概念
  • 了解了课程的整体结构
✅ 技术技能
  • 配置和使用 chat聊天模型
  • 理解温度参数对输出的影响
  • 掌握消息对象和字符串输入的使用方法
  • 集成和使用 Tavily 搜索工具
✅ 实践能力
  • 环境设置和依赖管理
  • API 密钥的安全配置
  • 基本的模型调用和结果处理

🚀 下一步学习

现在你已经掌握了基础知识,可以继续学习:

  1. 模块 1:深入了解 LangGraph 的核心功能
  2. 模块 2:构建你的第一个智能体
  3. 模块 3:多智能体协作
  4. 模块 4:高级搜索和 RAG 应用
http://www.dtcms.com/a/292119.html

相关文章:

  • 理解后端开发中的API设计原则
  • 哈希算法(Hash Algorithm)
  • 2025乐彩V8影视系统技术解析:双端原生架构与双H5免签封装实战 双端原生+双H5免签封装+TV级性能优化,一套代码打通全终端生态
  • Visual Studio Code 远端云服务器开发使用指南
  • gflags使用
  • Java 大视界 -- Java 大数据在智能交通自动驾驶车辆与周边环境信息融合与决策中的应用(357)
  • 新手向:基于Python的桌面便签与待办事项管理工具
  • [ARM]MDK出现报错error: A\L3903U的解决方法
  • Gradio, Streamlit, Dash:AI应用开发的效率之选
  • C# 析构函数
  • Unity中,Panel和 Canvas的区别
  • 矩阵中QR算法分解简介和基于Eigen库使用示例
  • Qt Creator集成开发环境使用指南
  • React Three Fiber 实现昼夜循环:从光照过渡到日月联动的技术拆解
  • “闪存普惠”如何一步到位? 华为在商业市场破题
  • 华为视觉算法面试30问全景精解
  • Node.js:RESPful API、多进程
  • GoLang教程006:循环控制语句
  • HTML结构解析
  • Python 图像处理库Pillow
  • 智能制造——解读52页汽车设计制造一体化整车产品生命周期PLM解决方案【附全文阅读】
  • 中小制造企业如何对技术图纸进行管理?
  • Dockerfile 详解
  • 客户案例 | Jabil 整合 IT 与运营,大规模转型制造流程
  • 生存分析机器学习问题
  • 跨越语言壁垒!ZKmall开源商城多语言架构如何支撑电商全球化布局
  • Web3与区块链如何革新网络安全——走在前沿
  • 「Linux命令基础」用户管理
  • redis可视化工具推荐——Tiny RDM
  • 原码反码补码