Build stateful conversational AI agents with LangGraph and assistant-ui

使用 LangGraph 和 assistant-ui 构建有状态的对话式 AI 代理

4 分钟阅读

TL;DR: assistant-ui 是一个可嵌入的 AI 聊天前端,用于 React 应用程序。它支持流式传输、生成式 UI、人机协作以及对于代理应用程序至关重要的其他 UX 范例。我们与 Simon(维护者)合作,增加了与 LangGraph Cloud 的紧密集成。这使您可以轻松地将 LangGraph 代理部署为独立的 Web 应用程序,或将它们作为助手集成到现有应用程序中。这篇文章是与 Simon 合作撰写的。

介绍

在 LangChain,我们最兴奋的代理构建领域之一是代理应用程序的 UI/UX。我们撰写了 整整 一系列 博客文章,探讨了代理的 UX 主题。我们目前看到代理最主要的 UX 用例是聊天。

然而,聊天 UI/UX 有许多不同的类型,并且在构建更复杂的代理时,您可能希望在其中添加许多不同的功能。首先,我们看到 “人机协作” 的概念越来越普遍——让用户批准/权衡某些代理操作。生成式 UI 越来越受欢迎,因为开发人员希望确保代理与最终用户沟通它正在执行的操作。当然,流式传输基本上是必须的。

在 LangChain,我们的使命是尽可能轻松地构建驱动这些代理的认知架构。我们希望轻松地支持这些功能——我们正在添加工具调用的标准化接口以帮助实现生成式 UI,并且我们正在构建 LangGraph 以使其成为有状态的,从而更轻松地实现人机协作。

然而,仅仅构建认知架构是不够的,您还需要为这些代理构建前端。这就是为什么我们非常兴奋地与 assistant-ui 合作,在 assistant-ui 和 LangGraph Cloud 之间建立强大的集成。assistant-ui 与我们有许多相同的关注点和信念,使其成为构建代理的无缝堆栈。

assistant-ui 概述

assistant-ui 是一个功能强大的基于 React 的聊天界面,专为 AI 驱动的对话而设计。它提供了一整套功能,使开发人员能够创建交互式的用户友好型 AI 聊天体验。以下是其主要功能的概述:

流式传输 LLM 结果

assistant-ui 提供了开箱即用的流式传输 LangChain LLM 响应的支持,包括工具调用。这确保了动态和响应迅速的聊天体验,允许用户在 AI 响应生成时看到它们。

0:00
/0:05

富内容展示

该界面支持 Markdown 渲染,能够展示各种内容类型,例如列表、代码片段、表格等。这种多功能性允许清晰且视觉上吸引人的复杂信息交流。

生成式 UI

一个突出的特点是以易于理解的方式显示结构化数据的能力。来自 LangChain/LangGraph 的工具调用可以映射到自定义 UI 组件,从而实现更具交互性和视觉吸引力的信息呈现。例如,股票价格数据可以这样呈现:

带审批 UI 的人机协作

对于需要用户监督的场景,assistant-ui 提供了审批界面。此功能使用户能够审查和授权特定的 AI 操作,然后再执行。这增强了代理交互的安全性和控制性,并且对于关键操作(例如金融交易)特别有用。

多模态

assistant-ui 超越了基于文本的交互,允许上传图像或文档作为代理的输入。

有状态的交互

通过与 LangGraph 状态同步,您的应用程序可以托管具有上下文感知能力的多轮对话、跨多个交流的复杂任务处理以及持久性内存,从而实现更自然和高效的交互。

设置 LangGraph Cloud 集成

让 LangGraph Cloud 和 assistant-ui 前端协同工作非常容易。

1) 将您的 LangGraph 代理部署到 LangGraph Cloud

2) 引导 assistant-ui 前端

npx assistant-ui@latest create -t langgraph

3) 设置以下环境变量

# Only required for production deployments
# LANGCHAIN_API_KEY=your_langchain_api_key
LANGGRAPH_API_URL=your_langgraph_api_url
NEXT_PUBLIC_LANGGRAPH_ASSISTANT_ID=your_assistant_id_or_graph_id 

有关使用生成式 UI、人机协作交互、工具调用审批以及集成到现有应用程序的详细说明,请参阅文档

股票经纪人代理

为了说明此集成的功能,让我们探索股票经纪人代理示例。该代理演示了 LangGraph 和 assistant-ui 结合的强大功能。

  • 网络搜索:代理可以搜索互联网以获取相关的金融信息。
  • 财务报表分析:它可以阅读和解释财务报表。
  • 股票价格检索:可以获取和显示实时股票价格。
  • 购买订单执行:代理可以在用户批准后执行股票购买订单。

股票经纪人代理利用生成式 UI 以视觉上吸引人的格式显示股票信息。它还使用审批 UI 进行购买确认,确保用户对关键财务决策的监督。

此图表说明了股票经纪人代理的结构,展示了 LangGraph Cloud 如何托管代理的认知架构,而 assistant-ui 提供人机协作用户交互。这两个系统之间的集成实现了强大且用户友好的 AI 助手体验。

您可以在 这里 观看我们演示此示例的视频。

这是 代理仓库在线演示 的链接。

结论

LangGraph 和 assistant-ui 的结合为构建可无缝集成到 React 应用程序中的交互式有状态 AI 助手开辟了新的可能性。流式传输、生成式 UI 和审批 UI 功能实现了用户和 AI 代理之间透明且交互式的沟通,从而增强了信任和可用性。

通过利用这种强大的集成,开发人员可以专注于创建增值功能和特定领域的特性。底层基础设施处理了状态管理 (LangGraph) 和 UX 交互模式 (assistant-ui) 的复杂性,简化了开发过程,并能够创建更高级的 AI 驱动应用程序。

要了解有关 assistant-ui 的更多信息,请查看文档或股票经纪人示例仓库