插件开发前言
About 712 wordsAbout 2 min
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之后,自行到开放平台中提交插件,这样就可以被官方收录,让更多人看见。

