LangGraph 是一个用于支持包含循环的 LLM 工作流创建的新包,它提供了 Python 和 JS 版本。以下是使用 LangGraph 的一个例子:
假设我们要开发一个客户支持机器人,它能够处理多种任务。我们可以使用 LangGraph 的核心功能来设计和构建这个机器人。
首先,我们需要确定机器人的多个独立代理,例如:
然后,我们可以使用 LangGraph 将这些代理连接起来,形成一个多代理工作流。例如,问题理解代理可以将问题传递给解决方案查找代理,解决方案查找代理找到解决方案后再传递给回答生成代理,最后回答生成代理生成回答并提供给客户。
在这个过程中,每个代理都可以拥有自己的提示、LLM、工具和其他自定义代码,以便与其他代理最好地协作。
通过使用 LangGraph,我们可以更轻松地构建和管理复杂的多代理工作流,提高应用程序的灵活性和可扩展性。
本文译自LangGraph:Multi-Agent Workflows一文,Mixtral 8x7B让AI圈见识到了混合专家模型的威力,那么随着LangGraph的发布,众多应用开发者也能在应用层随心搭建自己的多专家模型了。上周,我们重点介绍了LangGraph-一个新的包(同时提供Python和JS版本),用于更好地支持包含循环的LLM工作流的创建,循环是大多数代理运行时的关键组成部分。作为发布的一部分,我们强调了两个简单的运行时:一个等效于LangChain中的AgentExecutor,另一个是针对消息传递和聊天模型的该版本。今天,我们很高兴强调LangGraph的第二组用例-多代理工作流。在这篇博客中,我们将介绍:“多代理”是什么意思?为什么“多代理”工作流很有趣?使用LangGraph进行多代理工作流的三个具体示例基于LangGraph使用多代理工作流构建的两个第三方应用程序示例(GPT-Newspaper和CrewAI)与其他框架(Autogen和CrewAI)的比较
当我们谈论“多代理”时,我们谈论的是「1.多个独立的演员」「2.由语言模型提供动力」「3.以特定方式连接」每个代理都可以拥有自己的提示、LLM、工具和其他自定义代码,以便与其他代理最好地协作。这意味着在考虑不同的多代理工作流时有两个主要注意事项:「1.多个独立代理是什么?」「2.这些代理是如何连接的?」这种思维非常适合图形式的表示,例如LangGraph提供的表示。在这种方法中,每个代理都是图中的一个节点,它们的连接表示为边。控制流由边管理,它们通过向图的状态添加内容来进行通信。注意:一个非常相关的概念是「状态机」的概念,我们明确地将其称为认知体系结构的一类。从这个角度来看,独立的代理节点变成了状态,这些代理是如何连接的就是过渡矩阵。[由于状态机可以看作是一个标记的、有向的图](https://www.cs.cornell.edu/courses/cs211/2006sp/Lectures/L26-MoreGraphs/state_mach.html?ref=blog.langchain.dev#:~:text=State machine as a graph,labeled with the corresponding events.),我们将以相同的方式考虑这些事情。
您现在开发了一个能够处理多种任务的客户支持机器人,它使用了专注的工作流程。更重要的是,您已经学会了如何使用LangGraph的核心功能来设计和根据产品需求重构应用程序。上述示例并不是针对您的特定需求进行优化的-大型语言模型(LLMs)可能会出错,每个流程都可以通过更好的提示和实验来提高可靠性。一旦您创建了初始支持机器人,下一步就是开始添加评估,这样您就可以自信地改进您的系统。查看那些文档和我们的其他教程,了解更多!