插件开发前言
712字约2分钟
2024-11-7
当需要使用内部或者本地的大语言模型或者语音服务等,这时候就需要自己开发专用的插件了。
插件分为了 LLM
| TTS
| IAT
三种类型。每种插件都会有接受到框架提供的不同形参,然后调用参数的方法与框架进行通信。
不管什么类型的插件,使用上基本上都是差不多的,基本逻辑都是开发者拿到自定义服务数据后在使用 ESP-AI 框架提供的方法传递给 ESP-AI。
必备能力
很多人担心写插件会很难,可能会涉及硬件或者服务相关的知识,其实并没有想象的这么难,插件已经将硬件和服务部分隔离到了框架中,开发者只需要关心怎么把自己服务上面的数据传给ESP-AI即可。
编写插件使用 Nodejs
进行,每种插件都会提供完整的接口描述,你可以把该描述文件给 Chat GPT
让它帮你完成具体逻辑。但是开发者必须也得有一定的 Nodejs
编程能力。
ESP-AI
正在为更多的语言提供 SDK
包来开发插件,我们首先会探索为 Python
提供开发 ESP-AI
插件的 SDK
, 请耐心等待...
必读规约
- LLM 插件名称必须是
esp-ai-plugin-llm-xxx
形式 - TTS 插件名称必须是
esp-ai-plugin-tts-xxx
形式 - IAT 插件名称必须是
esp-ai-plugin-iat-xxx
形式 - 要对外发布的插件,必须在插件目录的
package.json
增加下面关键词.
{
"keywords": ["esp-ai-plugin", "esp-ai-plugin-llm"]
}
上手指南
LLM | TTS | IAT 插件的基本结构都如下:
const config = {
plugins: [
{
name: 'esp-ai-plugin-llm-test', // 插件名称
type: "LLM",// 插件类型 LLM | TTS | IAT
main(arg){
// 插件逻辑
}
}
]
}
为了代码规范当然不能直接写到 plugins 数组中。所以我们正常的一个插件创建步骤如下:
- 创建插件文件夹
esp-ai-plugin-llm-test
- 增加
package.json
文件
{
"name": "esp-ai-plugin-llm-example",
"keywords": ["esp-ai-plugin", "esp-ai-plugin-llm"],
"version": "0.0.2",
"description": "ESP-AI LLM Plugin Example | ESP-AI LLM 插件开发案例",
"main": "index.js",
}
- 增加
index.js
文件, 并进行自己的逻辑编写
module.exports = {
name: 'esp-ai-plugin-llm-test', // 插件名称
type: "LLM",// 插件类型 LLM | TTS | IAT
main(arg){
// 插件逻辑
}
}
- 发布到
npm
, 私有插件这一步省略
执行下面代码就可以发布,建议网上详细了解一下发布教程。
npm publish
- 插件收录 插件发布到
npm
之后,自行到开放平台中提交插件,这样就可以被官方收录,让更多人看见。