【LLM】LangChain 代理和大型语言模型
developer.chat
10 May 2023
目前在LLM上开发的方法正在迅速发展,即时工程在某种程度上被链接和代理的概念所吸收。
在最近的一篇文章中,我写到了即时工程的演变,以及即时工程是如何被吸收到更大的开发结构中的。
这些更大的开发结构允许:
- 更长、更复杂的用户交互
- 进程可以串行或并行运行
- 提示可以编程、共享、存储和模板化
- 链接是创建提示流或提示序列的概念。
对于现有流退出并且可以创建预先确定的会话或工作流的情况,Chaining工作得很好。
另一方面,在流量未知或高度不可预测的情况下,链接并不能很好地服务于场景。在这些情况下,预定的流程将不能很好地工作,并且需要一定程度的自主权。
什么是代理?
代理可以通过使用其可支配的一组工具或资源来接收查询。这些工具可以包括访问维基百科、网络搜索、数学库、LLM等。
【LLM】大型语言模型背景下的自主代理LangChain
developer.chat
10 May 2023
随着大型语言模型(LLM)的实现在深度和广度上的扩展,出现了一些要求:
- 对LLM进行编程并创建可重复使用的提示的能力&将提示无缝地合并到更大的应用程序中。
- 创建链以对大型应用程序的LLM交互进行排序。
- 通过一个可以在工具范围内自主行动的代理,自动进行即兴的思维链提示。
- 创建可扩展的提示管道,可以从各种来源收集相关数据,所有这些都基于用户输入并构成提示;并将提示提交给LLM。
“任何足够先进的技术都与魔术难以区分。”
-阿瑟·C·克拉克
对于LLM相关的操作,显然需要自动化。目前,这种自动化是以所谓的代理的形式出现的。
提示链接是指执行一系列预先确定的动作。
【ChatBot】使用LangFlow构建LangChain智能体
developer.chat
10 May 2023
基于LLM的智能体通过访问其可支配的LLM和工具来维护自主权
关于智能体的更多信息
LangChain智能体在一套可用工具的上下文中是自主的。现在,您可以通过使用LangFlow在GUI中构建LangChain智能体。
LangChain智能体在收到请求时会使用各种操作。采取行动后,智能体进入观察步骤,在那里他们分享一个想法。如果未达到最终答案,Agent会循环返回以选择不同的操作,以便更接近最终答案。
智能体之所以有吸引力,是因为他们能够独立行动,不走预先确定的道路。
他们配备了一套工具,使他们能够响应这些工具范围内的任何请求。
这个执行管道使智能体能够独立地解决问题,可能需要多次迭代,直到达到所需的结果。