Agent相关工作调研

API Bank

要解决两个问题:
1)目前的LLM在使用工具方面的效果如何?
2) LLM使用工具还存在哪些障碍?

理想的效果::通过访问全球工具存储库,LLM可以通过概述实现需求所需的所有步骤来帮助人们规划需求。随后,它将检索工具池中所需的工具,并通过可能的多轮 API 调用来满足人类的需求,从而变得真正有用​​且无所不知。

一般有两种方法来增强大模型:1)微调 2)上下文学习(这篇文章关注这个)

在这里插入图片描述

Tools调用API的工作流程:

  1. 判断是否需要API调用。
  2. 确定要调用的正确 API:如果不够好,LLM需要迭代修改 API 输入(例如,确定搜索引擎 API 的搜索关键字)。
  3. 基于API结果的响应:如果结果不满意,模型可以选择细化并再次调用。

从三个层面评估代理的工具使用能力:

  1. 评估调用API的能力。给定 API 的描述,模型需要确定是否调用给定的 API、正确调用它并正确响应 API 返回。
  2. 检查检索 API 的能力。模型需要搜索可能解决用户需求的API,并通过阅读文档来学习如何使用它们。
  3. 评估除了检索和调用之外规划 API 的能力。考虑到不明确的用户请求(例如安排小组会议、预订旅行的航班/酒店/餐厅),该模型可能必须进行多个 API 调用来解决它。

调用流程

在这里插入图片描述
API 调用: 在每个用户语句之后,模型需要确定是否需要 API 调用来访问外部服务,这需要能够了解其知识的边界或是否需要外部操作。这个判断会导致两种不同的选择:定期回复或者启动API调用流程。在定期回复期间,模型可以与人聊天或尝试弄清楚用户的需求并规划完成它们的过程。如果模型已经了解用户的需求并决定启动API调用过程,它将继续后续步骤。

找到合适的API: 为了解决模型的输入限制,模型一开始只给出了API搜索引擎的指令,没有任何具体的API介绍。每次特定 API 调用之前都需要进行 API 搜索。当执行API搜索时,模型应该将用户的需求总结为几个关键词。 API搜索引擎将查找API池,找到最佳匹配并返回相关文档以帮助模型了解如何使用它。检索到的API可能不是模型需要的,因此模型必须决定是修改关键字并重新搜索,还是放弃API调用并回复。

API调用后回复:完成API调用并获得返回结果后,模型需要根据结果采取行动。如果返回的结果符合预期,模型可以根据结果回复用户。如果API调用出现异常或者模型对结果不满意,模型可以根据返回的信息选择细化并再次调用,或者放弃API调用并回复。

系统设计

在这里插入图片描述
评估系统主要包含53个API、支撑数据库和ToolManager。完整的API列表附在附录A中。构建的系统包含了生活和工作中最常见的需求。其他类型的人工智能模型也以 API 的形式抽象出来,供法学硕士使用,这将扩展模型特定方面的功能。此外,还包括一些操作系统接口,以允许模型控制外部应用程序。

AI model

AI模型正如我们之前所说,系统中还涉及其他AI模型,例如ImageCaption、SpeechRecognition、Translate和DocumentQA。将它们视为API接口,LLM不需要了解它们的模型细节或端到端联合训练。他们只需要知道它们的目的和输入/输出格式,然后就可以使用这些人工智能模型来增强特定方面的能力。

API

我们构建了大约53个API,例如搜索引擎、日历查询、智能家居控制、酒店预订等。每个API包含三类API描述信息:功能描述、输入参数和输出参数。对于数据库相关的API,它们有一个参数可以用来指定要使用的数据库。
在这里插入图片描述

  • 三级API调用Prompt:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 输出例子:

在这里插入图片描述

  • https://ar5iv.labs.arxiv.org/html/2304.08244_immersive_translate_auto_translate=1

MRKL

在这里插入图片描述
MRKL 系统由一组可扩展的模块(我们称之为“专家”)和一个路由器组成,该路由器将每个传入的自然语言输入路由到能够最好地响应输入的模块(该模块的输出可以是MRKL 系统,或路由到另一个模块)。这些模块可以是:

  • 神经网络,包括通用的大型语言模型以及其他较小的专用语言模型。
  • 符号,例如数学计算器、货币转换器或对数据库的API 调用

MRKL的优势:

  1. 安全回退:如果输入与任何现有专家模块不匹配,路由器会将输入直接发送到通用大型LLM。
  2. 强大的可扩展性:由于每位专家都经过独立培训,因此我们能够以低廉的成本添加新功能,同时保证它们不会损害现有功能的性能。唯一需要重新训练的组件是路由器,这是一项相对轻量级的任务。
  3. 可解释性:当路由器调用特定模块时,通常具有为 MRKL 系统输出提供基本原理的附带好处(1+1=2,因为计算器是这么说的”);现有语言模型严重缺乏此类解释。
  4. 最新信息:外部API的集成允许MRKL系统挂钩动态知识库,并正确回答静态模型无法回答的输入。
  5. 专有知识:访问专有数据库和其他信息源。
  6. 组合性:通过将复合多跳输入路由到不同的专家,我们能够自然地集成他们的响应并正确地处理复杂的输入。
  • https://ar5iv.labs.arxiv.org/html/2205.00445_immersive_translate_auto_translate=1

斯坦福小镇

  • 大名鼎鼎的斯坦福小镇项目:https://arxiv.org/abs/2304.03442
    在这里插入图片描述
    生成Agent的设计将 LLM 与记忆、规划和反射机制相结合,使代理能够根据过去的经验进行行为,并与其他代理进行交互。

  • 记忆流(Memory stream):是一个长期记忆模块(外部数据库),记录了代理在自然语言中的经验的完整列表。

    • 每个元素都是一个观察结果,一个由代理直接提供的事件。 - 代理间通信可以触发新的自然语言语句。
  • 检索模型:根据相关性、新近度和重要性,呈现上下文以告知代理的行为。

    • 新近度Recency:最近发生的事件得分较高

    • 重要性Importance:区分平凡记忆和核心记忆。直接问LLM。

    • 相关性Relevance:基于它与当前情况/查询的相关程度。

  • 反射机制Reflection mechanism:随着时间的推移将记忆合成更高层次的推论,并指导智能体未来的行为。它们是对过去事件的更高层次的总结(<-注意,这与上面的自我反思有点不同)

    • 提示 LLM 提供 100 个最新观察结果,并根据一组观察结果/陈述生成 3 个最显着的高级问题。然后请LM回答这些问题。
  • 规划和反应:将反思和环境信息转化为行动

    • 规划本质上是为了优化当前与时间的可信度
  • 提示模板: {Intro of an agent X}. Here is X’s plan today in broad strokes: 1)
    Relationships between agents and observations of one agent by another are all taken into consideration for planning and reacting.

  • 规划和反应时都会考虑主体之间的关系以及一个主体对另一个主体的观察。

  • 环境信息以树形结构呈现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/233465.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你知道Java中的BigInteger类和BigDecimal类吗?

BigInteger和BigDecimal&#xff1a; 我们在学习JavaSE基础的时候学习过int和double&#xff0c;前者是整形&#xff0c;后者是双精度浮点数&#xff0c;但它们是有最大值的&#xff0c;也就是说&#xff0c;他两并不支持无限大的数字。 其范围如下所示&#xff1a; 因此对于…

图论-并查集

并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题.一些常见的用途有求连通子图,求最小生成树Kruskal算法和最近公共祖先(LCA)等. 并查集的基本操作主要有: .1.初始化 2.查询find 3.合并union 一般我们都会采用路径压缩 这样…

Java期末复习题之分支循环

点击返回标题->23年Java期末复习-CSDN博客 第1题. 编写一个模拟同时掷骰子的程序。要用Math.random()模拟产生两个骰子&#xff0c;将两个结果相加&#xff0c;相加的和等于7的可能性最大&#xff0c;等于2和12的可能性最小。程序模投掷3600次&#xff0c;判断求和的结果是否…

在IDEA中创建Maven项目时没有src文件、不自动配置文件

错误示例&#xff1a; 没有src文件&#xff0c;并且没有自动下载相关的配置文件 对我这中情况无效的解决办法&#xff1a; ①配置好下列图中圈出来的文件 ②在VM选项中输入&#xff1a;“-DarchetypeInternal” ③点击应用&#xff0c;再点击确定 ④还是不行 解决办法&#x…

20 套监控平台统一成 1 套 Flashcat,国泰君安监控选型提效之路

author:宋庆羽-国泰君安期货 运维工作最重要的就是维护系统的稳定性&#xff0c;其中监控是保证系统稳定性很重要的一环。通过监控可以了解系统的运行状态&#xff0c;及时发现问题和系统隐患&#xff0c;有助于一线人员快速解决问题&#xff0c;提高业务系统的可用时长。 作为…

class064 Dijkstra算法、分层图最短路【算法】

class064 Dijkstra算法、分层图最短路【算法】 算法讲解064【必备】Dijkstra算法、分层图最短路 code1 743. 网络延迟时间 // Dijkstra算法模版&#xff08;Leetcode&#xff09; // 网络延迟时间 // 有 n 个网络节点&#xff0c;标记为 1 到 n // 给你一个列表 times&…

机器学习基本概念介绍 2023

笔记来源于&#xff1a; https://www.youtube.com/watch?vphQK8xZpgoU&t172s https://www.youtube.com/watch?vXLyPFnephpY&t645s Machine/Deep Learning 机器学习概况来说&#xff0c;让机器具备自动找函式的能力 &#xff08;Machine Learning 约等于 Looking …

MongoDB的条件操作符

本文主要介绍MongoDB的条件操作符。 目录 MongoDB条件操作符1.比较操作符2.逻辑操作符3.元素操作符4.数组操作符5.文本搜索操作符 MongoDB条件操作符 MongoDB的条件操作符主要分为比较操作符、逻辑操作符、元素操作符、数组操作符、文本搜索操作符等几种类型。 以下是这些操作…

unity Mesh Simplify 1.10(模型优化工具:查看面数,降低面数灯)

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、面板参数详解说明二、使用方法总结 前言 有时候想对模型优化一下&#xff0c;奈何又不会建模方面的。虽然我感觉它的数值不大对&#xff0c;但是不影响我们优化顶点数嘛。 Me…

python 画条形图(柱状图)

目录 前言 基础介绍 月度开支的条形图 前言 条形图&#xff08;bar chart&#xff09;&#xff0c;也称为柱状图&#xff0c;是一种以长方形的长度为变量的统计图表&#xff0c;长方形的长度与它所对应的变量数值呈一定比例。 当使用 Python 画条形图时&#xff0c;通常会使…

0基础学java-day14-(集合)

一、集合 前面我们保存多个数据使用的是数组&#xff0c;那么数组有不足的地方&#xff0c;我们分析一下 1.数组 2 集合 数据类型也可以不一样 3.集合的框架体系 Java 的集合类很多&#xff0c;主要分为两大类&#xff0c;如图 &#xff1a;[背下来] package com.hspedu.c…

如何确认网站是否有漏洞,如何找出网站存在的漏洞,找到漏洞该如何处理

如何确认网站或者服务器是否有漏洞 判断一个网站是否是存在漏洞的方法&#xff1a; 1.可以借助德迅云安全漏洞扫描功能来检查漏洞。 2.打开德迅云安全首页&#xff0c;点击最上面导航栏中的“安全产品”。 3.滑到“漏洞扫描”&#xff0c;选择“产品价格”服务。 4.选择您需…

CleanMyMac2024破解版激活码许可证密钥

CleanMyMac X是一款颇受欢迎的专业清理软件&#xff0c;拥有十多项强大的功能&#xff0c;可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等&#xff0c;并且这款清理软件操作简易&#xff0c;非常好上手&#xff0c;特别适用于那些刚入手苹…

51单片机的内核架构组成 介绍

对于51单片机相信很多电子信息或者相关专业的朋友应该都不会感觉陌生&#xff0c;很多专业在大学课程中开设的单片机课程就是使用的51单片机进行授课和学习的。51单片机的内容相较于其他高性能复杂的单片机来说&#xff0c;架构相对简单一些&#xff0c;寄存器也少很多&#xf…

vite脚手架,配置动态生成路由,添加不同的layout以及meta配置

实现效果&#xff0c;配置了layout和对应的路由的meta 我想每个模块添加对应的layout&#xff0c;下边演示一层layout及对应的路由 约束规则&#xff1a; 每个模块下&#xff0c;添加对应的 layout.vue 文件 每个文件夹下的 index.vue 是要渲染的页面路由 每个渲染的页面路由对…

Kafka-快速实战

Kafka介绍 ChatGPT对于Apache Kafka的介绍&#xff1a; Apache Kafka是一个分布式流处理平台&#xff0c;最初由LinkedIn开发并于2011年开源。它主要用于解决大规模数据的实时流式处理和数据管道问题。 Kafka是一个分布式的发布-订阅消息系统&#xff0c;可以快速地处理高吞吐…

案例课4——智齿客服

1.公司介绍 智齿科技&#xff0c;一体化客户联络中心解决方案提供商。提供基于「客户联络中心」场景的一体化解决方案&#xff0c;包括公域私域、营销服务、软件BPO的三维一体化。 智齿科技不断整合前沿的人工智能及大数据技术&#xff0c;已构建形成呼叫中心、机器人「在线语音…

46. 全排列

全排列 描述 : 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 题目 : LeetCode 46.全排列 : 46. 全排列 分析 : 这里给个非常好的视频 : LeetCode力扣 46. 全排列Permutations_哔哩哔哩_bilibili 解析: class S…

双水平呼吸机算法怎么写?(其实是记录自己写呼吸的心得)

双水平正压呼吸机是什么&#xff1f; 市面上的双水平呼吸机&#xff0c;就是包含有双水平模式的呼吸机&#xff0c;其中一般也会包含单水平模式。其中正压的意思&#xff0c;就是抬高呼吸的压力基线&#xff0c;使吸气顺畅一些。 呼吸机硬件参考 不能给太详细&#xff0c;就给…

机械中常用的一些术语

目录 一、OEMSOP:SOP编写指南 WI(标准作业指导书):标准作业程序 &#xff08;SOP&#xff09;:SOP和WI的区别&#xff1a;一、PFC、FMEA、PCP、WIPPAP、PSW&#xff1a; 一、OEM 1.OEM&#xff1a; 原始设备制造商OEM&#xff08;Original Equipment Manufacturer&#xff09;…