关于智能体(Agent)
通常,大型语言模型(LLM)通常通过RAG(Retrieval-Augmented Generation)架构来增强其存储器能力。然而,LLM智能体(LLM Agents)不仅能增强存储器,还将推理、工具、答案和操作都集成到了其系统中。
LLM是一种人工智能技术,可以生成类似人类语言的文本,而LLM智能体则是一种扩展了LLM的系统,它可以执行更复杂的任务,例如搜索信息、使用工具和执行操作。
步骤1:规划
简单的“输入-输出”LLM使用方式与思维链、具有自洽性的思维链、思维树等技术之间的视觉差异。
LLM的性能得到不断的改进,有许多技术和方法用来提升。我们探讨以下技术:
- 思维链(Chain of Thought):这是一种逐步思考的技术,模型被要求按步骤进行推理,从而实现自我纠正。这种方法有助于改善模型的输出质量。
- 具有自洽性的思维链(Chain of Thought with Self-Consistency):这是对思维链的进一步发展,强调了模型在思考过程中保持一致性的重要性。模型在不同步骤之间保持一致,以提高输出的准确性。
- 思维树(Tree of Thoughts):这是一种更广义的方法,其中多个思维被创建、重新评估并合并,以生成最终的输出。这种方法允许模型在不同路径上探索多个可能性,从而更全面地理解输入并生成更好的回复。
这些技术的应用有助于改善大型语言模型在各种自然语言处理任务上的性能,使其更加强大和灵活。
本文大量使用了Langsmith平台,该平台用于生产化LLM应用程序。例如,在构建思维树提示时,将子提示保存在提示存储库中,然后进行加载:
在这里想说明的是在像Langsmith这样的LLMOps系统中定义推理步骤和版本化它们的正确过程。此外,还可以在公共存储库查看其他流行推理技术的示例,如ReAct或带搜索功能的 Self-ask:
其他值得注意的方法包括:
- 反思(Reflexion):用于使Agents具有动态内存和自我反思能力,以提高推理技能。
- 回顾链(Chain of Hindsight):鼓励模型查看过去的输出序列,以改善自身输出,从而更好地满足用户需求。
第2步:内存
我们可以将大脑中不同类型的记忆映射到LLM架构的各个组成部分上
- 感官记忆:这个记忆组件捕捉了直接的感官输入,如我们所看到的、听到的或感觉到的。在提示工程和人工智能模型中,提示是一种短暂的输入,类似于瞬时触感,用于触发模型进行处理。它是初始的刺激,引导模型生成相应的输出。
- 短期记忆:短期记忆暂时保存信息,通常与正在进行的任务或对话相关。在提示工程中,这相当于保留最近的聊天历史记录。这种记忆使Agents能够在互动过程中保持上下文和一致性,确保响应与当前对话相匹配。在代码中,通常将其添加为对话历史记录:
- 长期记忆:长期记忆存储事实性知识和程序性指示。在人工智能模型中,这表现为用于训练和微调的数据。此外,长期记忆还支持RAG框架的操作,使Agents能够访问并将已学信息合并到其响应中。就像是Agents提供有关和相关输出的全面知识存储库一样。在代码中,通常将其添加为向量化数据库:
步骤3:工具
在实际操作中,希望通过单独的推理链来增强Agents(可以是另一种 LLM,即特定领域或另一种用于图像分类的 ML 模型),或者使用基于规则或API的方法来增强Agents。
ChatGPT Plugins 和 OpenAI API 函数调用就是利用工具使用能力增强 LLM 在实践中发挥作用的良好范例。
- 内置Langchain工具:Langchain内置了一系列工具,从互联网搜索和Arxiv工具包到Zapier和雅虎财经。本文使用Tavily提供的互联网搜索:
- 自定义工具:定义自己的工具也非常简单。以计算字符串长度的工具为例进行分析。需要使用@tooldecorator让Langchain知道这个工具。然后,不要忘记输入和输出的类型。但最重要的部分是函数注释之间的
""" """
——这就是Agents如何知道这个工具是做什么的,并将此描述与其他工具的描述进行比较:
你可能会看到一个错误——它没有正确提取Neurons Lab公司的描述,尽管调用了正确的自定义长度计算函数,最终结果却是错误的。可以试着进行修复。
步骤4:整合在一起
可以将所有架构部件组合在一起成为简洁版本。注意,可以很容易地分解并单独定义:
- 所有类型的工具(搜索、自定义工具等)
- 所有类型的记忆(感知作为提示,短期作为可运行消息历史记录,并在提示中作为素描板,以及长期作为从向量数据库检索)
- 任何类型的规划策略(作为从LLMOps系统拉取的提示的一部分)
最终的Agents定义会像这样简单:
我们定义了一个完整的架构,其中短期记忆起着至关重要的作用。Agents获得了消息历史记录和一个作为推理结构的素描板,使其能够拉取正确的网站描述并计算其长度。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。