【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式

【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式

文章目录

  • 【Arxiv 大模型最新进展】TOOLGEN:探索Agent工具调用新范式
    • 研究框图
    • 方法详解


作者Renxi Wang, Xudong Han

单位LibrAI, Mohamed bin Zayed University of Artificial Intelligence

研究框图

下图给出此文的的整体逻辑框架。首先,对文章进行一句话总结,然后简要介绍研究内容、研究动机、技术动机、解决方案以及优势与潜力,以便读者快速了解文章脉络。

方法详解

本文研究的主要内容是Agent中的工具使用。在Agent中,大语言模型在处理任务时,常常需要与外部工具进行交互以获取信息或执行操作。然而,在工具数量显著增多的场景下,将工具描述作为上下文输入的方法因受限于上下文长度而不再可行。先检索后调用的方法可以检索出候选的工具列表,然而需要额外的检索步骤,与模型生成过程相独立,效率不高。为了解决现有方法存在的问题,本文提出了一种名为ToolGen的框架。

ToolGen的核心思想是将每个工具表示为模型词汇表中的一个独特的Token,扩展大模型的词表,从而将工具的检索和调用直接集成到模型的参数中,令大模型利用其已有知识来检索和调用工具。

如下图所示,先前基于检索的方法使用检索器基于相似度匹配检索相关工具,并将检索结果放入Prompt,交给大模型来执行调用。而ToolGen可以通过直接生成工具Tokens来完成工具的检索和调用,不依赖于任何外部检索器。

ToolGen框架如下图所示:

图中,ToolGen主要包括以下几个部分:

  1. 工具虚拟化(Tool Virtualization)

在ToolGen中,每个工具被映射为一个唯一的Token,所有工具的Tokens被添加到LLM的词表中。这种映射可以通过多种索引方式来实现,包括数值(Numeric)索引、分层(Hierarchical)索引、语义(Semantic)索引和原子(Atomic)索引。其中,原子索引确保了每个工具都是一个单一的Token,而不是多个Token的组合。

  1. 三阶段训练过程

ToolGen的训练过程包括三个阶段,每个阶段都旨在提升模型在不同方面的性能,从而实现更准确和高效的工具检索和调用。

(1)工具记忆(Tool Memorization)

在工具记忆阶段,模型通过将工具描述作为输入,工具Token作为输出,来学习关联每个虚拟工具Token与其文档。这个过程类似于教模型“记住”每个工具的功能和用途。通过这种方式,模型能够理解每个工具Token背后的含义,从而在后续的检索和调用中更加准确。

(2)检索训练(Retrieval Training)

检索训练阶段的目标是让模型学会如何根据用户的查询生成相关的工具Token。在这个阶段,模型接收用户查询作为输入,并被训练以生成相应的工具Token作为输出。这个过程使得模型能够根据用户的需要,从其“记忆”中检索出正确的工具Token,从而实现对工具的精确调用。

(3)端到端Agent训练(End-to-End Agent-Tuning)

在端到端Agent训练阶段,模型被训练以作为一个自主Agent,生成计划和工具,并确定完成任务的适当参数。这个阶段的训练使用了Agent任务完成轨迹,即一系列的用户查询和相应的工具调用序列。通过这种方式,模型学会了如何在实际任务中有效地使用工具,包括何时调用工具、调用哪个工具以及如何配置工具的参数。

实验使用了包含47,000个真实世界工具的数据集进行验证,包括工具检索任务端到端生成任务

在工具检索任务中,ToolGen不仅取得了与当前最佳工具检索方法相当的性能,而且成本更低,效率更高。

在端到端生成任务中,ToolGen在大多数设置下保持领先。

综上所述,ToolGen框架通过将工具检索转化为生成过程,使得LLM能够更自然、更高效地在语言生成过程中调用工具,从而提高了Agent的自主性和效率。


  • 原文链接: https://arxiv.org/abs/2410.03439
  • 更多文章请详见 Github 仓库: https://github.com/ZJU-LLMs/XXX

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

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

相关文章

数据库内存与Buffer Pool

数据库内存与Buffer Pool 文章目录 数据库内存与Buffer Pool一:MySQL内存结构1:MySQL工作组件2:工作线程的本地内存3:共享内存区域4:存储引擎缓冲区 二:InnoDB的核心:Buffer Pool1:数…

[CVPR 2022]Cross-view Transformers for real-time Map-view Semantic Segmentation

论文网址:Cross-View Transformers for Real-Time Map-View Semantic Segmentation 论文代码:cross_view_transformers/cross_view_transformer at master bradyz/cross_view_transformers GitHub 英文是纯手打的!论文原文的summarizing …

Java 中线程的使用

文章目录 Java 线程1 进程2 线程3 线程的基本使用(1)继承 Thread 类,重写 run 方法(2)实现 Runnable 接口,重写 run 方法(3)多线程的使用(4)线程的理解&#…

手撕Vision Transformer -- Day1 -- 基础原理

手撕Vision Transformer – Day1 – 基础原理 目录 手撕Vision Transformer -- Day1 -- 基础原理Vision Transformer (ViT) 模型原理1. Vit 网络结构图2. 背景3. 模型架构3.1 图像切块(Patch Embedding)3.2 添加位置编码(Positional Encoding…

【AI】DeepSeek 概念/影响/使用/部署

在大年三十那天,不知道你是否留意到,“deepseek”这个词出现在了各大热搜榜单上。这引起了我的关注,出于学习的兴趣,我深入研究了一番,才有了这篇文章的诞生。 概念 那么,什么是DeepSeek?首先百…

Java锁自定义实现到aqs的理解

专栏系列文章地址:https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标: 理解锁,能自定义实现锁通过自定义锁的实现复习Thread和Object的相关方法开始尝试理解Aqs, 这样后续基于Aqs的的各种实现将能更好的理解 目录 锁的…

html的字符实体和颜色表示

在HTML中,颜色可以通过以下几种方式表示,以下是具体的示例: 1. 十六进制颜色代码 十六进制颜色代码以#开头,后面跟随6个字符,每两个字符分别表示红色、绿色和蓝色的强度。例如: • #FF0000:纯红…

Golang 并发机制-1:Golang并发特性概述

并发是现代软件开发中的一个基本概念,它使程序能够同时执行多个任务,从而提高效率和响应能力。在本文中,我们将探讨并发性在现代软件开发中的重要性,并深入研究Go处理并发任务的独特方法。 并发的重要性 增强性能 并发在提高软…

three.js用粒子使用canvas生成的中文字符位图材质

three.js用粒子使用canvas生成中文字符材质 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Three.…

《逆向工程核心原理》第三~五章知识整理

查看上一章节内容《逆向工程核心原理》第一~二章知识整理 对应《逆向工程核心原理》第三章到第五章内容 小端序标记法 字节序 多字节数据在计算机内存中存放的字节顺序分为小端序和大端序两大类 大端序与小端序 BYTE b 0x12; WORD w 0x1234; DWORD dw 0x12345678; cha…

2025年数学建模美赛 A题分析(4)楼梯使用人数模型

2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…

【cocos creator】【模拟经营】餐厅经营demo

下载&#xff1a;【cocos creator】模拟经营餐厅经营

29.Word:公司本财年的年度报告【13】

目录 NO1.2.3.4 NO5.6.7​ NO8.9.10​ NO1.2.3.4 另存为F12&#xff1a;考生文件夹&#xff1a;Word.docx选中绿色标记的标题文本→样式对话框→单击右键→点击样式对话框→单击右键→修改→所有脚本→颜色/字体/名称→边框&#xff1a;0.5磅、黑色、单线条&#xff1a;点…

高性能消息队列Disruptor

定义一个事件模型 之后创建一个java类来使用这个数据模型。 /* <h1>事件模型工程类&#xff0c;用于生产事件消息</h1> */ no usages public class EventMessageFactory implements EventFactory<EventMessage> { Overridepublic EventMessage newInstance(…

neo4j初识

文章目录 一 图论基础二 柯尼斯堡七桥问题2.1 问题背景2.2 欧拉的解决3.1 核心概念3.2 核心优势3.3 应用场景3.4 技术特性3.5 版本与部署3.6 示例&#xff1a;社交关系查询3.7 限制与考量 四 图论与 Neo4j 的关联4.1 数据建模4.2 高效遍历4.3 应用场景 五 示例&#xff1a;用 N…

吴恩达深度学习——超参数调试

内容来自https://www.bilibili.com/video/BV1FT4y1E74V&#xff0c;仅为本人学习所用。 文章目录 超参数调试调试选择范围 Batch归一化公式整合 Softmax 超参数调试 调试 目前学习的一些超参数有学习率 α \alpha α&#xff08;最重要&#xff09;、动量梯度下降法 β \bet…

行业规范要当作业务实体画出来吗

第五元素 总觉得这些没有逻辑的实体&#xff0c;在绘制的时候不应该绘出来&#xff0c;他们没有责任啊。 比如以下:查阅规范 感觉不太对 UMLChina潘加宇 你这个规范是一个电脑系统还是一本书 第五元素 是书 UMLChina潘加宇 书没有智能&#xff0c;唯一暴露的接口是“翻”…

冯·诺依曼体系结构

目录 冯诺依曼体系结构推导 内存提高冯诺依曼体系结构效率的方法 你使用QQ和朋友聊天时&#xff0c;整个数据流是怎么流动的&#xff08;不考虑网络情况&#xff09; 与冯诺依曼体系结构相关的一些知识 冯诺依曼体系结构推导 计算机的存在就是为了解决问题&#xff0c;而解…

Qt之数据库操作三

主要介绍qt框架中对数据库的增加&#xff0c;删除和修改功能。 软件界面如下 程序结构 tdialogdata.h中代码 #ifndef TDIALOGDATA_H #define TDIALOGDATA_H#include <QDialog> #include<QSqlRecord> namespace Ui { class TDialogData; }class TDialogData : pub…

8.攻防世界Web_php_wrong_nginx_config

进入题目页面如下 尝试弱口令密码登录 一直显示网站建设中&#xff0c;尝试无果&#xff0c;查看源码也没有什么特别漏洞存在 用Kali中的dirsearch扫描根目录试试 命令&#xff1a; dirsearch -u http://61.147.171.105:53736/ -e* 登录文件便是刚才登录的界面打开robots.txt…