发布于 2026-01-06 6 阅读
0

学习如何使用 LangGraph 构建 AI 代理和聊天机器人!

学习如何使用 LangGraph 构建 AI 代理和聊天机器人!

随着人工智能在全球范围内的日益普及,人工智能代理的开发已成为众多行业的关注焦点。LangGraph 作为一个强大的框架,简化了这些代理的创建过程,使开发者能够构建复杂的多代理系统。本博客将提供分步教程,指导您如何利用 LangGraph 创建自己的人工智能应用程序,包括基本的聊天机器人。

理解 LangGraph

LangGraph

LangGraph是一个开源框架,专为创建和管理人工智能代理及多代理应用程序而设计。它提供了处理状态管理、代理交互和错误处理等复杂问题所需的工具。通过使用 LangGraph,开发人员可以构建能够有效利用大型语言模型 (LLM) 的强大应用程序。

langgraph rag 流

LangGraph 的核心在于通过定义三个关键组件来创建智能体应用程序:

  • 节点:这些节点代表应用程序中的各个计算步骤或函数。
  • 状态:这指的是在计算过程中维护的上下文或内存。
  • 边:连接节点,定义计算从一个步骤到另一个步骤的流程。

设置您的环境

在开始编写代码之前,请确保已安装必要的软件。您需要 Python 和所需的库。我们将使用 SingleStore 的笔记本功能(类似于 Jupyter Notebook 和 Google Colab)来运行所有代码。请注册 SingleStore并创建一个新的笔记本。

使用 LangGraph 构建的简易聊天机器人

我们将使用 LangGraph 创建一个简单的聊天机器人。这个聊天机器人将直接回复用户消息。首先,我们将创建一个状态图(StateGraph)。状态图对象将聊天机器人的结构定义为一个状态机。

首先使用以下命令安装 LangGraph 和 LangChain

!pip install langgraph langsmith
!pip install langchain langchain_groq langchain_community
Enter fullscreen mode Exit fullscreen mode

此外,请为您计划使用的任何LLM服务设置API密钥。这将使您能够访问AI应用程序所需的模型。

import os
os.environ['LANGCHAIN_TRACING_V2'] = 'true'
os.environ['LANGCHAIN_API_KEY'] = 'Add your LangChain API Key'
os.environ['LANGCHAIN_PROJECT'] = 'LiveLanggraph'
Enter fullscreen mode Exit fullscreen mode

这将帮助您开始使用 ChatGroq 聊天模型。

from langchain_groq import ChatGroq

groq_api_key = "Add your Groq API Key"  # Replace with your actual API key
llm = ChatGroq(groq_api_key=groq_api_key, model_name='Gemma2-9b-It')
Enter fullscreen mode Exit fullscreen mode

创建图表

from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
Enter fullscreen mode Exit fullscreen mode
class State(TypedDict):
  messages:Annotated[list, add_messages]

graph_builder = StateGraph(State)
Enter fullscreen mode Exit fullscreen mode
graph_builder
Enter fullscreen mode Exit fullscreen mode
def chatbot(state:State):
  return {"messages" : llm.invoke(state['messages'])}
Enter fullscreen mode Exit fullscreen mode
graph_builder.add_node("chatbot",chatbot)
Enter fullscreen mode Exit fullscreen mode
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)
Enter fullscreen mode Exit fullscreen mode
graph = graph_builder.compile()
Enter fullscreen mode Exit fullscreen mode
from IPython.display import Image, display

try:
  display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
  pass
Enter fullscreen mode Exit fullscreen mode

聊天机器人

使用图表

现在我们可以使用创建的聊天机器人了。

while True:
  user_input=input("User: ")
  if user_input.lower() in ["quit","q"]:
    print("Good Bye")
    break
  for event in graph.stream({'messages':("user",user_input)}):
    print(event.values())
    for value in event.values():
      print(value['messages'])
      print("Assistant:",value["messages"].content)
Enter fullscreen mode Exit fullscreen mode

结论

LangGraph 为构建 AI 代理和聊天机器人提供了一个强大的框架。通过理解其核心组件——节点、状态和边——您可以创建利用逻辑逻辑模型 (LLM) 完成各种任务的复杂应用程序。无论您是构建简单的聊天机器人还是复杂的多代理系统,LangGraph 都提供了有效开发和管理 AI 解决方案所需的工具。

有关更详细的示例和代码,请查看GitHub 上的 LangGraph 聊天机器人教程

文章来源:https://dev.to/pavanbelagatti/learn-how-to-build-ai-agents-chatbots-with-langgraph-20o6