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

2023-09-20 17:06:06

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


 

更多推荐

DDoS是什么?

一.DDoS的定义DDos的前身DoS(DenialofService)攻击,其含义是拒绝服务攻击,这种攻击行为使网站服务器充斥大量的要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷而停止提供正常的网络服务。而DDoS分布式拒绝服务,则主要利用Internet上现有机器及系统的漏洞,攻占大量联网主机,使其

SpringMVC之JSON数据返回与异常处理机制

目录一.SpringMVC的JSON数据返回1.导入Maven依赖2.配置spring-mvc.xml3.@ResponseBody注解的使用3.1案例演示1.List集合转JSON2.Map集合转JSON3.返回指定格式String4.@ResponseBody用法5.Jackson5.1介绍5.2常用注解二.异常处

SwiftUI 5.0(iOS 17)TipKit 让用户更懂你的 App

概览作为我们秃头开发者来说,写出一款创意炸裂的App还不足以吸引用户眼球,更重要的是如何让用户用最短的时间掌握我们App的使用技巧。从iOS17开始,推出了全新的TipKit框架专注于此事。有了它,我们再也不用自己写App用户帮助以及使用指南的逻辑和界面了。使用TipKit非常简单,接下来就让我们一起走进TipKit

对于项目中爱抱怨成员,项目经理如何回应?

李佳刚被提拔成项目经理。他是技术部的骨干人员,工作能力很强,已经干了快五年了。公司规模中等,属于比较传统的制造型公司。随着公司升级转型,项目越来越多,难度也增加了。原来那种按部就班的订单式生产被更加灵活、个性化的客户需求所取代,不但技术难度提高了,完成一个项目所涉及的部门、协作单位也增多了。李佳由于出色的工作表现,因此

Java手写决策树和决策树应用拓展案例

Java手写决策树和决策树应用拓展案例1.算法思维导图以下是用mermaid代码表示的决策树算法实现原理的思维导图:#mermaid-svg-DWczpr7jTBRHS9bA{font-family:"trebuchetms",verdana,arial,sans-serif;font-size:16px;fill:#

JMeter:接口测试基础介绍

一、什么是接口接口是非常抽象的概念,先来看下中国最大的综合性辞典《辞海》是怎样定义接口的:两个不同系统或系统中两个不同特性部分的交接部分。一般分硬件接口和软件接口两种。前者是为连接计算机各部分之间、计算机与计算机之间、计算机与外部系统之间而专门设计的连接线及有关逻辑控制电路;后者是为连接两个程序层或块而专门设计的程序或

怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?

文章目录序幕概述1.安装PHP2.安装MySQL数据库3.安装Wordpress4.设置您的WordPress数据库设置MySQL/MariaDB创建WordPress数据库5.WordPressconfiguration6.将WordPress站点发布到公网安装相对URL插件修改config.php配置7.支持好友链

基于Java咖啡商品管理系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

WebLOAD: 一站式性能测试工具

WebLOAD是一款一站式前端性能测试工具,对测试人员来说使用非常方便。它可以帮助前端工程师和测试快速对网页进行性能测试和优化,提高网页加载速度,减少页面卡顿和闪烁。WebLOAD的特点、使用指南以及企业实际使用中的案列。WebLOAD的特点功能丰富:WebLOAD集成了众多前端性能测试工具,如前端性能分析、首屏时间预

算法刷题 week1 找出数组中重复的数字&不修改数组找出重复的数字

目录week11.找出数组中重复的数字题目数据范围样例题解(数组遍历)O(n)2.不修改数组找出重复的数字题目数据范围样例题解(分治,抽屉原理)O(nlogn)week11.找出数组中重复的数字题目给定一个长度为n的整数数组nums,数组中所有的数字都在0∼n−1的范围内。数组中某些数字是重复的,但不知道有几个数字重复

MySQL

当谈到数据库管理系统时,MySQL通常是许多开发者和数据专业人士的首选。MySQL是一种开源的关系型数据库管理系统,广泛用于Web应用程序、企业应用程序和各种数据驱动的应用。在这篇博客中,我们将深入探讨MySQL的重要性、用途、基本概念以及如何开始使用它。什么是MySQL?MySQL是一个关系型数据库管理系统(RDBM

热文推荐