学习如何使用 LangGraph 构建 AI 代理和聊天机器人!
随着人工智能在全球范围内的日益普及,人工智能代理的开发已成为众多行业的关注焦点。LangGraph 作为一个强大的框架,简化了这些代理的创建过程,使开发者能够构建复杂的多代理系统。本博客将提供分步教程,指导您如何利用 LangGraph 创建自己的人工智能应用程序,包括基本的聊天机器人。
理解 LangGraph
LangGraph是一个开源框架,专为创建和管理人工智能代理及多代理应用程序而设计。它提供了处理状态管理、代理交互和错误处理等复杂问题所需的工具。通过使用 LangGraph,开发人员可以构建能够有效利用大型语言模型 (LLM) 的强大应用程序。
LangGraph 的核心在于通过定义三个关键组件来创建智能体应用程序:
- 节点:这些节点代表应用程序中的各个计算步骤或函数。
- 状态:这指的是在计算过程中维护的上下文或内存。
- 边:连接节点,定义计算从一个步骤到另一个步骤的流程。
设置您的环境
在开始编写代码之前,请确保已安装必要的软件。您需要 Python 和所需的库。我们将使用 SingleStore 的笔记本功能(类似于 Jupyter Notebook 和 Google Colab)来运行所有代码。请注册 SingleStore并创建一个新的笔记本。
使用 LangGraph 构建的简易聊天机器人
我们将使用 LangGraph 创建一个简单的聊天机器人。这个聊天机器人将直接回复用户消息。首先,我们将创建一个状态图(StateGraph)。状态图对象将聊天机器人的结构定义为一个状态机。
首先使用以下命令安装 LangGraph 和 LangChain:
!pip install langgraph langsmith
!pip install langchain langchain_groq langchain_community
此外,请为您计划使用的任何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'
这将帮助您开始使用 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')
创建图表
from typing import Annotated
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages
class State(TypedDict):
messages:Annotated[list, add_messages]
graph_builder = StateGraph(State)
graph_builder
def chatbot(state:State):
return {"messages" : llm.invoke(state['messages'])}
graph_builder.add_node("chatbot",chatbot)
graph_builder.add_edge(START, "chatbot")
graph_builder.add_edge("chatbot", END)
graph = graph_builder.compile()
from IPython.display import Image, display
try:
display(Image(graph.get_graph().draw_mermaid_png()))
except Exception:
pass
使用图表
现在我们可以使用创建的聊天机器人了。
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)
结论
LangGraph 为构建 AI 代理和聊天机器人提供了一个强大的框架。通过理解其核心组件——节点、状态和边——您可以创建利用逻辑逻辑模型 (LLM) 完成各种任务的复杂应用程序。无论您是构建简单的聊天机器人还是复杂的多代理系统,LangGraph 都提供了有效开发和管理 AI 解决方案所需的工具。
有关更详细的示例和代码,请查看GitHub 上的 LangGraph 聊天机器人教程。
文章来源:https://dev.to/pavanbelagatti/learn-how-to-build-ai-agents-chatbots-with-langgraph-20o6


