手记

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

图片来源: LangGraph

随着世界越来越拥抱人工智能,许多行业都将开发AI代理作为焦点。LangGraph作为一个强大的框架,简化了这些代理的创建,使开发人员能够构建复杂的多代理系统。这篇博客将作为一步一步的教程,指导你如何利用LangGraph创建自己的AI应用程序,包括一个基本的聊天机器人。

了解 LangGraph

LangGraph 是一个开源框架,旨在创建和管理 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 上创建一个账户。
0人推荐
随时随地看视频
慕课网APP