写在前面
前一篇文章提到了如何为ChatGPT/LLM大语言模型添加额外知识,其中第3点“通过langchain这个chatgpt编程框架来给chatgpt赋能。 langchain可以将不同的工具模块和chatgpt给链接(chain)起来”。今天我们要做一个类似于langchain功能的微小智能体,去完成这个目标。
实现框架
拥有大模型加持的智能代理会是什么样?作者们受到达尔文「适者生存」法则的启发,提出了基于大模型的智能代理通用框架。一个人如果想要在社会中生存,就必须学会适应环境,因此需要具有认知能力,并且能够感知、应对外界的变化。同样,智能代理的框架也由三个部分组成:控制端(Brain)、感知端(Perception)和行动端(Action)。
控制端:
通常由 LLMs 构成,是智能代理的核心。它不仅可以存储记忆和知识,还承担着信息处理、决策等不可或缺的功能。它可以呈现推理和计划的过程,并很好地应对未知任务,反映出智能代理的泛化性和迁移性。
感知端:
将智能代理的感知空间从纯文本拓展到包括文本、视觉和听觉等多模态领域,使代理能够更有效地从周围环境中获取与利用信息。
行动端:
除了常规的文本输出,还赋予代理具身能力、使用工具的能力,使其能够更好地适应环境变化,通过反馈与环境交互,甚至能够塑造环境。
功能步骤
构建大模型:
这一步是开发控制端,本文使用的是书生浦语的模型:internlm2-chat-7b,internlm2-chat-20b,部署参数:24GB的显卡,推算逻辑如下:书生浦语 7B,就是7,000,0