插件是一系列第三方工具(API)的集合,插件可以帮助大模型实现动态数据获取以及模型本身无法完成的事情,大家都知道大模型是一种预训练模型,这就决定了他的知识是有时空局限的,当用户询问超过训练数据集的问题时,大模型就会不知道进而导致幻觉的出现,也就是大家经常会遇到的胡说八道的情况,基于此一种解决大模型幻觉及知识不足的方案诞生了,他就是RAG(知识增强),RAG更侧重于通过检索来增强模型对外部信息或者数据的获取能力,而Function Calling更侧重于使模型能够执行外部操作(比如API的调用)或访问外部服务。
元器是基于Function calling实现的插件调用,Function calling是一种更深入的应用架构,它通过调用模型的内部、外部函数,直接获取外部数据。例如,我们可以调用历史上的今天函数,获取动态实时信息。
这种方法的优点是可以依赖模型运行,但缺点是怎么唤起插件和如何更好的使用插件完全依赖模型自身的能力,同样的一个插件在模型A上可能调用就非常好,但是在模型B上就很差。为什么说插件的获取是全靠模型的理解能力呢?因为插件的唤醒、执行和返回均在大模型的控制之下,因此如何唤醒插件完全插件自身的描述和依赖大模型的理解能力。
1、编写插件描述,插件的图标可以根据名称和描述自动生成👍️👍️👍️👍️👍️👍️
2、按照openapi的格式添加插件描述,点击校验
openapi: 3.0.0
info:
title: 历史事件API文档
description: 提供历史上今天发生的事件信息
version: 1.0.0
servers:
- url: 'http://baidu.com
description: 历史上的今天
paths:
/api-history_today:
get:
summary: 获取历史上的今天接口
description: 返回历史上今天发生的事件列表
operationId: getHistoryToday
responses:
'200':
description: 获取信息成功
content:
application/json:
schema:
$ref: '#/components/schemas/datas'
security:
- apiKey: []
components:
securitySchemes:
apiKey:
type: apiKey
name: api_key
in: header
schemas:
datas:
type: object
properties:
time:
type: string
data:
type: string
required:
- time
- data
请注意替换成可以用的api哦,至此插件已经编写完成了。
1、创建一个叫“幽默的历史老师”的智能体,选择刚才创建的插件,插件创建完之后会有审核的时间,实际体验约3分钟左右就可审核完成。
2、在调试页面输入“历史上的今天”即可调用到我们的插件,通过对比发现数据和插件一样,并且补充了一小段总结
通过以上实验可以看出来,元器整体的使用体验还是比较流畅的,配置相对于其他社区版本的产品来说功能简洁上手难度较低,但是对插件编写来说还是要有一定的经验的开发者才可以的,依托于混元的能力,结合自身体验来说元器的插件能力还是比较好的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。