ToolLLM model 以及LangChain AutoGPT Xagent在调用外部工具Tools的表现对比浅析

文章主要谈及主流ToolLLM 以及高口碑Agent 在调用Tools上的一些对比,框架先上,内容会不断丰富与更新。

第一部分,ToolLLM model

先来说主打Function Call 的大模型们

OpenAI GPT

宇宙第一LLM,它的functionCall都知道,不展开说

NexusRaven

开源,可商用,function call的效果对比图,看起来好的让人不敢相信,当然,不敢相信的还有他的github星标涨得很慢,不知道数据是不是有水的成分

在这里插入图片描述

Gorilla

开源,可商用,github有8.7k星标,function call的效果接近于GPT3.5的能力,有微软和伯克利大学背书,可信度较高

在这里插入图片描述

ToolBench

这个项目(ToolLLM)旨在构建开源、大规模、高质量的指令调整
SFT 数据,以促进构建具有通用工具使用能力的强大LLMs。其目标是赋予开源 LLMs 掌握成千上万多样的真实世界API能力。

该开源项目,由OpenBMB (Open Lab for Big Model Base)机构—由面壁智能公司和清华NLP联合成立。 这家机构也是XAgent项目的发起者。
通过收集高质量的指令调整数据集来实现这一目标。其数据集使用最新的ChatGPT(gpt-3.5-turbo-16k)自动构建,升级了增强的函数调用功能。

项目本身提供数据集、相应的训练和评估脚本,以及在ToolBench上经过微调的强大模型ToolLLaMA。项目还用了一个可视化的Atlas Explorer来对自己所使用的数据指令进行了展示。
在这里插入图片描述
作者根据API,使用ChatGPT生成可能用到的指令,利用 {INST,API} 的格式训练API retriever。最后得到的prompt包含了任务的描述、API的文档、3个API的使用例。

ToolLLaMA展现了处理单一工具和复杂多工具指令的引人注目的能力,与ChatGPT的能力相当。
在这里插入图片描述

ToolLLaMA是针对原有的组织内部的 API 进行整理,思考哪些 API 是要精简、放到语料中进行 FT,经过几轮调试后最终得到的关于业务 API 的 Prompt 是真正可以称得上业务精华的。把这些东西放到 GPU 里面训,出一个可以跑 function call 的模型,这么做有两个好处,一个是由于 API 信息入了LLM,意味着平时调用的 Prompt 可以少写点字,提高了执行效率;第二得到一个「真懂业务」的 model,还是那句话,懂 API 的 model 才是好的垂类专家 model。

使用建议
对于tools的调用,功能刚刚齐备,文档介绍较少,参考案例和demo全无,且XAGent的环境搭建过程的问题会比较多,社区还不健全,填坑不易

第二部分,Agent调用外部Tools

来看一看具备Tools调用能力的,那些有影响力的Agents们

LangChain Agent

LangChain是伴随LLM而崛起的RAG工具,其Agent组件已开始展露头角
简单来说,用户向 LangChain 输入的内容未知。此时可以有一套工具集合(也可以自定义工具),将这套自定义工具托管给LLM,让其自己决定使用工具中的某一个(如果存在的话)

使用建议
对于tools的调用,参考案例都较为简单,需要自己扩展才能完成Tools的注册及调用,对于tools组合玩法缺少支持,智能程度有待提升。

AutoGPT

开源软件,地址在这里
在github上已达恐怖的155K的星标, Agents出名的原因也是由’AutoGPT’而起。

API Tools
可以通过插件的形式【API Tools】来调取外部的Tools,接受的外部工具调用的关键功能包括:

  • 支持GET、POST、PUT、DELETE、PATCH、HEAD和OPTIONS
  • 能尝试从用作参数的奇异值中进行恢复
  • 接受自定义header值

使用疑虑
对于tools的调用,文档过于简短,参考案例和demo全无,需要自己琢磨

Xagent

为调用外部工具进行了专门的优化,感觉有点像微软的Gorilla(一种大模型,ToolLLM)和AutoGPT的合体

该开源项目,由OpenBMB (Open Lab for Big Model Base)机构—由面壁智能公司和清华NLP联合成立。 这家机构也是上方ToolBench项目的发起者。

XAgent的框架,使用了Fastapi,它是一个基于 python 的框架,该框架鼓励使用 Pydantic 和 OpenAPI (以前称为 Swagger) 进行文档编制,使用 Docker 进行快速开发和部署以及基于 Starlette 框架进行的简单测试。

ToolServer
ToolServer 的关键组件包括:ToolServerNode、ToolServerMonitor、ToolServerManager,在执行操作、节点检查、周期管理等方面提供强大的能力。

目前,XAgent 的 ToolSever 支持 FileSystemEnv、PythonNotoBook、WebEnv、ExecuteShell、RapidAPIEnv、AskHumanforHelp 等多种工具。

使用建议
该项目和上面的ToolBench项目都系出一家机构,可以想象,将来二者会有双向奔赴的可能,作为国内顶尖学府支持的项目,还是很有想象空间的。

补充说明

无论是训练ToolLLM,还是创作Agent调用Tool,都是想解决垂类行业落地的问题

ToolLLM和Agent调用LLM和TOOL这两张方案,前者是让大模型奔向API,后者是通过prompt让API奔向大模型,鱼和熊掌,当前看两条技术路线,似乎难以同时兼得,实施过程中也是各有利弊,技术还在不停演进中,抬头思考中前行~~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 小程序学生选课系统源码

开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 学生: 登录,选课(查看课程及选择),我的成绩,…

Axure中动态面板使用及轮播图多种登录方式左侧导航栏之案列

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 目录 一、轮播图简介 1、什么是轮播图 2、轮播图有什么作用 3、轮播图有什么特点 4、轮播图适应范围 5、…

Elasticsearch磁盘占用大于95%时将所有索引置为只读

一个稳定运行的功能忽然收到报错,查明原因是在向Elasticsearch中插入文档时报错: AuthorizationException: AuthorizationException(403, ucluster_block_exception, ublocked by: [FORBIDDEN/12/index read-only / allow delete (api)];)网上也有其他人报TransportError: …

解决Chrome同一账号在不同设备无法自动同步书签的问题

文章目录 一、问题与原因?2. 解决办法 一、问题与原因? 1.问题 使用谷歌Chrome浏览器比较头疼的问题就是:使用同一个Google账号,办公电脑与家用电脑的数据无法同步。比如:办公电脑中的书签、浏览记录等数据&#xff0…

C语言----文件操作(二)

在上一篇文章中我们简单介绍了在C语言中文件是什么以及文件的打开和关闭操作,在实际工作中,我们不仅仅是要打开和关闭文件,二是需要对文件进行增删改写。本文将详细介绍如果对文件进行安全读写。 一,以字符形式读写文件&#xff…

Nessus漏洞扫描报错:42873 - SSL Medium Strength Cipher Suites Supported (SWEET32)

个人搭建的windows server 2019服务器,被Nessus工具扫描出现三个漏洞,修复比较过程比较坎坷,特记录下 首先:报错信息: 42873 - SSL Medium Strength Cipher Suites Supported (SWEET32) 104743 - TLS Version 1.0 Protocol Detection 157288 - TLS Version 1.1 Protocol …

uni-app微信小程序隐藏左上角返回按钮

官方文档链接:uni.setNavigationBarTitle(OBJECT) | uni-app官网 (dcloud.net.cn) 首先要明确的是页面间的跳转方式有几种、每一种默认的作用是什么。 uniapp五种跳转方式 第一:wx.navigatorTo 【新页面打开,默认会有返回按钮】第二&#x…

阿里云服务器ECS安全组开启端口教程

阿里云服务器安全组开启端口教程 云服务器 ECS(Elastic Compute Service) 云服务器 ECS(Elastic Compute Service)是一种安全可靠、弹性可伸缩的云计算服务,助您降低 IT 成本,提升运维效率,使您…

ACT、NAT、NATPT和EASY-IP

目录 一、ACL 1.ACL 2.ACL的两种应用匹配机制 3.ACL的基本类型 4.ACL命令操作 5.ACL实验: 4.ACL的应用原则: 5.匹配原则: 二、NAT 1.NAT的原理及作用: 2.NAT分类 3.NAT配置 三、EASY-ip实验 四、NATPT 五、通配符 …

如何用 Cargo 管理 Rust 工程系列 乙

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/__nvVZYti-G05QJHIp_f8Q 编译程序 这次我们用 cargo 来启动编译,cargo 提供了 build 指令来调度工具构建并输出软件。cargo build 只…

【Docker六】Docker-consul

目录 一、docker-consul概述 1、服务注册和发现: 1.1、服务注册和发现概念 1.2、服务注册和发现工作机制: 1.3、服务注册与发现的优点: 2、docker-consul概念 2.1、consul的主要特点: 二、consul架构部署: 1、…

构建强大应用的引擎:深度解析Spring Boot Starter机制

目录 引言1. Spring Boot Starter机制1.1 什么是Spring Boot Starter1.2 为什么要使用Spring Boot Starter1.3.应用场景1.4.自动加载核心注解说明 2. 综合案例配置类制作控制功能实现 总结 引言 在当今互联网时代,构建高性能、可维护的应用已成为开发者的首要任务。…

ArcGIS Pro SDK 将几何输出为要素

需求: 在获取到一个几何(geometry)的数据,我们需要将其输出为要素 解决方案: 1.创建要素 2.将几何写进要素中 //构建面几何 ArcGIS.Core.Geometry.Polygon mfGeoPolygon new PolygonBuilderEx(mfGeoList, mapFra…

利用有限制通配符来提升API的灵活性

在Java中,有限制通配符(bounded wildcard)允许你在泛型中指定一个范围,从而提升API的灵活性。通配符使得你能够编写更通用、适用于多种类型的代码。以下是一个利用有限制通配符提升API灵活性的例子: 假设有一个简单的…

x86上运行LoongArch的环境

很多朋友只有x86的系统,因为我们上学时代和工作机大部分都x86系统。loongson推出LoongArch指令集后,也想尝尝鲜或者作为一个开发者又不想买新的机器,此时就可以用到我下边为大家介绍的方法。 此处也给大家提供一个debian社区发布的官方的文档…

QT笔记(节选)具体图片等下载资源

QT笔记(节选)具体图片等下载资源 根据b站视频做的笔记: https://www.bilibili.com/video/BV1g4411H78N?p44&spm_id_frompageDriver&vd_sourcea3e6a48ccd3d7d1f969f662653ed68c9 qt是一个跨平台的c图形用户界面应用程序框架&#x…

js获取浏览器指纹

需要移入crypto-js-4.0.0.min.js 官方文档:https://cryptojs.gitbook.io/docs/ github:https://github.com/brix/crypto-js finger: function () {// 获取浏览器 User Agent 信息var userAgent navigator.userAgent;// 获取浏览器 Accept Headers 信息…

Linux 命令

记录一下用到的很有用的Linux 命令: grep指定内容并显示前后若干行 grep -A 10 ‘xxx’ test.log //打印匹配行的后10行 grep -B 10 ‘xxx’ test.log//打印匹配行的前10行 grep -10 ‘xxx’ test.log//打印匹配行的前后10行 或 grep -C 10 ‘xxx’ test.log//打印…

【最新版】PyCharm基础调试功能详解

文章目录 一、断点1. 断点的类型a. 行断点b. 异常断点 2. 设置断点a. 设置行断点b. 设置异常断点 3. 管理断点a. 删除断点b. 将断点静音 二、调试功能0. 测试代码1. 设置断点2. 调试的多种启动方式3. 观察调试控制台a. 步过b. 步入c. 单步执行代码d. 步出e. 运行到光标处f. 重新…

LVS简介及LVS-NAT负载均衡群集的搭建

目录 LVS群集简介 群集的含义和应用场景 性能扩展方式 群集的分类 负载均衡(LB) 高可用(HA) 高性能运算(HPC) LVS的三种工作模式 NAT 地址转换 TUN IP隧道 IP Tunnel DR 直接路由 Direct Rout…