极光笔记 | 大语言模型插件

在人工智能领域,大语言模型(LLMs)是根据预训练数据集进行”学习“,获取可以拟合结果的参数,虽然随着参数的增加,模型的功能也会随之增强。但无论专业领域的小模型,还是当下最火、效果最好的大模型,都有一个共同的劣势:无法准确/正确地回答出训练数据集以外(区别于验证集和测试集的新增数据,如实时新闻、未公开的企业信息等)的结果,进而编造答案进行回复,即大模型幻觉问题。

为了解决上述问题,同时避免微调/重新训练带来的成本,LLMs插件应运而生。 通过LLMs强大的内容生成能力和上下文理解能力,结合插件提供的数据以及特定功能,不仅拓宽了LLMs的应用领域,还增加了LLMs生成结果的可信度,更好地服务于使用者。

1.插件

插件是一种软件组件,它可以被添加到一个主要的应用程序或系统中,以扩展其功能或提供额外的特性。插件通常被设计成可独立安装和卸载,并且可以与主应用程序进行交互。插件的功能取决于所应用的领域和具体的应用程序,在AIGC快速发展的今天,大语言模型插件异军突起,改变了插件存在的形态,这也是本篇文章重点的研究对象。结合当前大语言模型插件的发展,插件分类如下:

1.1 传统插件

传统插件(Plug-in,又称addin、add-in、addon或add-on,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序。其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行,即插件的运行依赖于宿主软件,无差别地启用或禁用插件功能。传统插件可分为浏览器插件和客户端软件插件,传统插件的存在形态如下图所示。

1.2 大语言模型插件

大语言模型插件是随着大语言模型发展而诞生的全新插件。 大语言模型插件的核心是Web API,独立于大语言模型,插件开发过程不受大语言模型的约束,同时没有开发语言的限制,更加通用,只要Web API遵循RESTful相关规则即可。只是在为大语言模型配置插件时遵循配置规则,如原生ChatGPT插件配置遵循OpenAPI格式以及添加相关描述。大语言模型与插件是相对独立的两个部分,大语言模型与插件关系示意如下图所示。

大语言模型是插件的选择器,按需使用插件功能,即只有当用户提供的问题或数据满足插件调用条件时,才会调用插件,不是无差别地使用插件功能,大语言模型插件的工作流程如下图所示。

2.ChatGPT 插件

目前最强大的商用大语言模型莫过于OpenAI的大语言模型ChatGPT-3.5/4.0,均支持插件功能(后面统一使用ChatGPT),并且对支持开发者开放了插件开发入口,开发者可以基于自身需求开发Web API作为ChatGPT插件。但是,ChatGPT创建插件的过程比较繁琐,下面以GPTBots插件创建过程作为对比,两者插件创建过程如下图所示(左:ChatGPT创建插件;右:GPTBots创建插件)。

          

       

3.GPTBots 插件

我们不一样!GPTBots插件应用的技术路线不同于ChatGPT,GPTBots插件融合了ChatGPT插件创建规范(通用的OpenAPI规范)和函数调用功能,这样做有如下优势:

  • 开发者只需专注于自身功能接口开发,无需开发额外的接口

  • 插件配置遵循OpenAPI规范,开发者可以直接复用面向 ChatGPT Web 的插件,一键发布插件至 GPTBots

  • GPTBots 插件自动兼容市面上主流已支持插件能力的 LLM,开发者无需再去适配每个LLM

3.1 创建插件

通过上面插件创建过程对比,我们知道,使用GPTBots插件只需四步:开发插件接口、新建插件、配置插件鉴权、添加符合OpenAPI规范的接口配置,其余的交给GPTBots。

(1)开发插件接口

这里与ChatGPT原生方式相同,需要开发者自行开发插件接口,但是,在GPTBots中不需要开发者另行开发插件清单接口、插件接口配置信息接口、插件Logo接口,只需要开发者专注于插件功能接口开发。

(2)新建插件

GPTBots新建插件入口如下图。

(3)配置插件鉴权

GPTBots插件提供三种鉴权方式,即不鉴权(None)、Basic鉴权和Bearer鉴权,配置过程如下图。

(4)添加符合OpenAPI规范的接口配置

完成上述准备工作,最后为插件配置接口规则,即开发者的功能接口,GPTBots采用的接口规则遵循OpenAPI规范,配置说明如下图。

完成插件创建后,可以在“我的插件”中看到已创建成功的插件,同时,GPTBots提供了插件一键发布功能,即将插件发布到插件市场,供其他开发者使用。

综上,GPTBots插件最大程度简化了用户创建和使用插件的流程,极大降低了插件使用门槛。

3.2 插件应用

GPTBots不仅创建插件流程非常简单、对开发者非常友好,使用起来也非常顺手。使用插件前,我们需要为Bot添加插件。以高德天气插件为例,为“天气小精灵”Bot添加插件过程如下:

当我们为“天气小精灵”Bot添加天气插件和搜索插件后,当问题中出现天气和实时信息相关问题时,插件会主动承担内容生产的责任,实测效果如下:

3.3 插件市场

GPTBots官方为广大开发者和用户提供了众多实用的插件,如PDF生成插件、天气插件和搜索插件等等,GPTBots部分插件如下:

4.思考与展望

插件在实际业务应用中,由于LLM每次调用token是有上限的,而插件也不可避免的占用token,这样就导致无法在一次请求调用中提供多个插件备用。或者一个插件协议如果过于复杂,可能导致直接调用失败。

GPTBots平台为了更好解决此类问题,推出了Flow功能。开发者可以在不同的步骤编排多个LLM参与业务处理,每个LLM可以最多添加3个插件,这样就很好的解决了插件使用限制的问题,同时通过减少请求上下文内容长度让LLM更加专注,从而提升插件调用成功率。

LLMs插件区别于传统插件,它独立、灵活、自由、功能强大,大语言模型插件的核心是Web API,因此大语言模型插件完全拥抱互联网,同时,没有开发语言“歧视”,无论开发者的语言栈是Python、Java、Go、PHP等,只要可以开发HTTP协议接口,遵循RESTful规则,就可以构建大语言模型插件,相信未来大语言模型插件种类会越来越丰富,功能越来越强大。相对于ChatGPT繁琐的插件创建流程,GPTBots平台简化了插件创建流程,简单、易用、好用,提高插件开发者效率,降低开发者学习成本,未来一定会有越来越多的开发者选择GPTBots平台。

极光GPTBots已上线,访问https://www.gptbots.ai/developer,立即认证成为开发者体验!



关于极光

极光(Aurora Mobile,纳斯达克股票代码:JG)成立于2011年,是中国领先的客户互动和营销科技服务商。成立之初,极光专注于为企业提供稳定高效的消息推送服务,凭借先发优势,已经成长为市场份额遥遥领先的移动消息推送服务商。随着企业对客户触达和营销增长需求的不断加强,极光前瞻性地推出了消息云和营销云等解决方案,帮助企业实现多渠道的客户触达和互动需求,以及人工智能和大数据驱动的营销科技应用,助力企业数字化转型。


 

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

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

相关文章

2023 年最新 Docker 容器技术基础详细教程(更新中)

Docker 基本概述 Docker 是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间…

跨平台编程开发工具Xojo 2023 Release mac中文版功能介绍

Xojo mac是一款跨平台的软件开发工具,它允许开发人员使用一种编程语言来创建应用程序,然后可以在多个操作系统上运行。Xojo 2023是Xojo开发工具的最新版本,它提供了许多功能和改进,以帮助开发人员更轻松地构建高质量的应用程序。 …

Redis代码实践总结

一、背景: redis从安装到实践,做一些具体的记录。 1.1 Redis和 RedisStack和Redis Enterprise redis简介 Redis 是一种开源(BSD 许可)内存中数据结构存储,用作数据库、缓存、消息代理和流引擎。 Redis 提供数据结构…

Jmeter+Maven+jenkins+eclipse搭建自动化测试平台

【软件测试行业现状】2023年了你还敢学软件测试?未来已寄..测试人该何去何从?【自动化测试、测试开发、性能测试】 背景: 首先用jmeter录制或者书写性能测试的脚本,用maven添加相关依赖,把性能测试的代码提交到github…

期权是什么?一分钟带你玩转期权策略!

很多人问我期权是什么,这个问题怎么回答呢?首先期权是一种交易模式,如同股票期货一样,但它又不同于股票和期货,因为它有自己的交易规则和特性,期权更多是一种工具,可以做空大盘对冲下跌风险&…

【音视频】H264视频压缩格式

H264简介 H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准里称为H.264, 在MPEG的标准里是MPEG-4的一个组成部分-MPEG-4 Part 10,又叫Advanced Video Codec,因此常常称为MPEG-4AVC或直接叫AVC。 压缩算…

malloc与free

目录 前提须知: malloc: 大意: 头文件: 申请空间: 判断是否申请成功: 使用空间: 结果: 整体代码: malloc申请的空间怎么回收呢? 注意事项: free:…

智慧养殖:浅谈视频监控与AI智能识别技术助力奶牛高效、智慧养殖

一、方案背景 随着科技的飞速发展,智能化养殖逐渐成为现代畜牧业的发展趋势。人工智能技术、物联网、视频技术、云计算、大数据等新兴技术,正在为奶牛养殖业带来全新的变革。越来越多的牧场、养殖场开始运用新技术来进行智能监管、提高生产效率、降低生…

靠差异化上了短剧“牌桌”后,百度准备怎么做生态?

从最初的野蛮生长到如今的百花齐放,短剧市场已然进入了质量与创意的竞争。 据《中国网络视听发展研究报告》数据显示,行业内重点网络微短剧上线数量从2021年的58部,飙升到2022年的172部。相比起前几年处于风口时的爆发式增长,“分…

SSD上 NVIDIA Jetson Orin NANO系統如何刷

对于AI计算性能高达40TOPS的Jetson Orin Nano开发套件来说,如果缺少性能够好的存储相匹配,会让总体执行效益大打折扣。为此,NVIDIA在Jetson Orin Nano开发套件上配置2个M.2接口(如下图),最高能安装2片高速P…

oracle数据库被锁定如何解除

一、使用以下SQL语句查询Oracle被锁定的表: SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects b, v$session sWHERE l.session_id s.sid AND l.object_id b.object_id;这个语句将返回被锁定的表的名称、机器名、会话ID和序列…

rk3568环境配置和推理报错: RKNN_ERR_MALLOC_FAIL

前言 最近在部署算法在板子侧遇到的一些问题汇总一下: 一、版本问题 经过测试现在将自己环境配置如下: 本地linux安装rknn-toolkit2-1.5.0 本地Linux使用的miniconda新建的一个python虚拟环境(自行网上查找相关方法) 安装好自…

业主方怎么管理固定资产

业主方可以通过以下几种方式来管理固定资产: 建立资产管理制度:制定明确的资产采购、使用、维护、报废等流程和标准,确保资产管理的规范性和透明度。 采用专业的资产管理软件:通过数字化手段对固定资产进行管理和监控,…

【Linux】线程控制

文章目录 📖 前言1. 线程的id1.1 pthread_self:1.2 线程独立栈结构:1.3 pthread_t究竟是什么:1.4 线程的局部存储: 2. 线程退出的三种方式2.2 - 1 方式一:pthread_cancel2.2 - 2 方式二:pthread…

Vue3封装知识点(三)依赖注入:project和inject详细介绍

Vue3封装知识点(三)依赖注入:project和inject详细介绍 文章目录 Vue3封装知识点(三)依赖注入:project和inject详细介绍一、project和inject是什么二、为了解决什么问题三、project和inject如何使用1.provid…

51单片机DS1302万年历时钟温度12864显示仿真( proteus仿真+程序+报告+讲解视频)

51单片机DS1302万年历时钟温度12864显示仿真 1.主要功能:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 51单片机DS1302万年历时钟温度12864显示仿真( proteus仿真程序报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 …

fastadmin 在操作里加订单详情弹窗

第一步找到控制器对应的js文件。 //添加一个详情按钮 buttons:[{name: detail,text: 详情,title: 详情,icon: fa fa-list,extend: data-area\["80%", "80%"]\,classname: btn btn-xs btn-primary btn-dialog,url: order/detail }], 在order控制器添加方法&…

Vue中一键批量注册全局组件

文件目录如下 1. component文件夹中编写所有的公共组件 注意:之后一键注册的全局组件名就是每个公共组件(xxx.vue)文件的文件名 xxx 2. plugins/components.js中批量注册组件 import Vue from "vue"let requireFile require.con…

[NLP] LLM---<训练中文LLama2(二)>扩充LLama2词表构建中文tokenization

使用SentencePiece的除了从0开始训练大模型的土豪和大公司外,大部分应该都是使用其为当前开源的大模型扩充词表,比如为LLama扩充通用中文词表(通用中文词表,或者 垂直领域词表)。 LLaMA 原生tokenizer词表中仅包含少量…

企业架构LNMP学习笔记45

失效机制(了解) 1)如果key过期了,value会及时删除么?空间会及时清理么? 2)如果分配的存储空间,写满了,还允许写么? -m可以配置内存大小。 memcached 内部不…