图片来源: LangGraph
随着世界越来越拥抱人工智能,许多行业都将开发AI代理作为焦点。LangGraph作为一个强大的框架,简化了这些代理的创建,使开发人员能够构建复杂的多代理系统。这篇博客将作为一步一步的教程,指导你如何利用LangGraph创建自己的AI应用程序,包括一个基本的聊天机器人。
了解 LangGraphLangGraph 是一个开源框架,旨在创建和管理 AI 代理和多代理应用程序。它提供了处理状态管理、代理交互和错误处理等复杂问题所需的工具。通过使用 LangGraph,开发人员可以构建利用大型语言模型(LLMs)的强大应用程序。
从根本上说,LangGraph 通过定义三个关键组件来允许你创建代理应用程序:
- 节点: 这些代表应用程序中的单个计算步骤或函数。
- 状态: 这指的是在计算过程中维护的上下文或内存。
- 边: 这些连接节点,定义了从一个步骤到另一个步骤的计算流程。
在开始编码之前,请确保安装了必要的软件。你需要安装 Python 和所需的库。我们将使用 SingleStore 的笔记本(类似于 Jupyter Notebooks 和 Google Colab)来运行所有的代码。注册 SingleStore 并创建一个新的笔记本。
使用 LangGraph 的简单聊天机器人
我们将使用 LangGraph 创建一个简单的聊天机器人。该聊天机器人将直接响应用户的消息。我们将从创建一个 StateGraph 开始。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'] = '添加你的 LangChain API Key'
os.environ['LANGCHAIN_PROJECT'] = 'LiveLanggraph'
这将帮助你开始使用 ChatGroq 聊天模型。
from langchain_groq import ChatGroq
groq_api_key = "Add your Groq API Key" # 请用你的实际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()
从 IPython.display 导入 Image, display
尝试:
display(Image(graph.get_graph().draw_mermaid_png()))
除了 Exception:
通过
使用图形
我们现在可以使用创建的聊天机器人。
while True:
user_input=input("用户: ")
if user_input.lower() in ["quit","q"]:
print("再见")
break
for event in graph.stream({'messages':("user",user_input)}):
print(event.values())
for value in event.values():
print(value['messages'])
print("助手:",value["messages"].content)
结论
LangGraph 提供了一个强大的框架来构建 AI 代理和聊天机器人。通过理解其核心组件——节点、状态和边,你可以创建各种任务中利用大语言模型(LLMs)的复杂应用程序。无论你是构建一个简单的聊天机器人还是一个复杂的多代理系统,LangGraph 都提供了必要的工具来有效地开发和管理你的 AI 解决方案。
对于更详细的示例和代码,请参阅 LangGraph 机器人教程在 GitHub 上。
GitHub - pavanbelagatti/LangGraph-Chatbot-Tutorial参与 pavanbelagatti/LangGraph-Chatbot-Tutorial 的开发,通过在 GitHub 上创建一个账户。共同学习,写下你的评论
评论加载中...
作者其他优质文章