跳转到主要内容

【LLM】LangChain 代理和大型语言模型

目前在LLM上开发的方法正在迅速发展,即时工程在某种程度上被链接和代理的概念所吸收。

在最近的一篇文章中,我写到了即时工程的演变,以及即时工程是如何被吸收到更大的开发结构中的。

这些更大的开发结构允许:

  1. 更长、更复杂的用户交互
  2. 进程可以串行或并行运行
  3. 提示可以编程、共享、存储和模板化
  4. 链接是创建提示流或提示序列的概念。

对于现有流退出并且可以创建预先确定的会话或工作流的情况,Chaining工作得很好。

另一方面,在流量未知或高度不可预测的情况下,链接并不能很好地服务于场景。在这些情况下,预定的流程将不能很好地工作,并且需要一定程度的自主权。

 

什么是代理?

代理可以通过使用其可支配的一组工具或资源来接收查询。这些工具可以包括访问维基百科、网络搜索、数学库、LLM等。

【LLM】大型语言模型背景下的自主代理LangChain

随着大型语言模型(LLM)的实现在深度和广度上的扩展,出现了一些要求:

  1. 对LLM进行编程并创建可重复使用的提示的能力&将提示无缝地合并到更大的应用程序中。
  2. 创建链以对大型应用程序的LLM交互进行排序。
  3. 通过一个可以在工具范围内自主行动的代理,自动进行即兴的思维链提示。
  4. 创建可扩展的提示管道,可以从各种来源收集相关数据,所有这些都基于用户输入并构成提示;并将提示提交给LLM。

“任何足够先进的技术都与魔术难以区分。”

-阿瑟·C·克拉克

对于LLM相关的操作,显然需要自动化。目前,这种自动化是以所谓的代理的形式出现的。

提示链接是指执行一系列预先确定的动作。

【ChatBot】使用LangFlow构建LangChain代理

基于LLM的代理通过访问其可支配的LLM和工具来维护自主权

关于代理的更多信息

LangChain代理在一套可用工具的上下文中是自主的。现在,您可以通过使用LangFlow在GUI中构建LangChain代理。

LangChain代理在收到请求时会使用各种操作。采取行动后,代理人进入观察步骤,在那里他们分享一个想法。如果未达到最终答案,Agent会循环返回以选择不同的操作,以便更接近最终答案