Skip to content

Commit

Permalink
📝docs: update useful-commands.md
Browse files Browse the repository at this point in the history
dingyi222666 committed Nov 27, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 9759ca7 commit 2e8fbb1
Showing 4 changed files with 231 additions and 36 deletions.
2 changes: 1 addition & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"cSpell.words": ["onappear"],
"cSpell.words": ["onappear", "vectorstore"],
"typescript.tsdk": "node_modules/typescript/lib"
}
14 changes: 7 additions & 7 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
@@ -288,11 +288,11 @@ function sidebarDevelopment(): DefaultTheme.SidebarItem[] {
text: '起步',
items: [
{
text: '为 ChatHub 开发插件',
text: '为 ChatLuna 开发插件',
link: '/development/getting-started',
},
{
text: '调用 ChatHub API',
text: '调用 ChatLuna API',
link: '/development/call-chathub-api',
},
],
@@ -348,19 +348,19 @@ function sidebarDevelopment(): DefaultTheme.SidebarItem[] {
text: 'API 参考',
items: [
{
text: 'ChatHub 服务 (ChatHub Service)',
text: 'ChatLuna 服务 (ChatLuna Service)',
link: '/development/api-reference/chathub-service',
},
{
text: 'ChatHub 中间件聊天链(ChatChain)',
text: 'ChatLuna 中间件聊天链(ChatChain)',
link: '/development/api-reference/chathub-chat-chain',
},
{
text: 'ChatHub 插件(ChatHub Plugin)',
text: 'ChatLuna 插件(ChatLuna Plugin)',
link: '/development/api-reference/chathub-plugin',
},
{
text: 'ChatHub 大语言模型核心 (LLM Core)',
text: 'ChatLuna 大语言模型核心 (LLM Core)',
collapsed: true,
items: [
{
@@ -386,7 +386,7 @@ function sidebarDevelopment(): DefaultTheme.SidebarItem[] {
],
},
{
text: 'ChatHub 辅助工具 (ChatHub Utils)',
text: 'ChatLuna 辅助工具 (ChatLuna Utils)',
collapsed: true,
items: [
{
46 changes: 46 additions & 0 deletions docs/development/getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# 为 ChatLuna 开发插件

本节将以一个简易的例子,来介绍如何为 ChatLuna 开发一个插件(模型适配器)。

## 前置条件

在开发之前,当然不是从零开始。你需要完成以下任务:

1. 基于 koishi 官方的[文档](https://koishi.chat/zh-CN/guide/develop/setup.html),搭建好模版项目。
2. 模版项目里需要安装 ChatLuna 的主插件。

## 配置基础环境

前置条件都完成了之后,我们就可以开始新建插件了!

阅读[](https://koishi.chat/zh-CN/guide/develop/workspace.html#%E5%88%9B%E5%BB%BA%E6%96%B0%E6%8F%92%E4%BB%B6),先新建一个插件。

接下来我们假设你创建的插件名叫`example`

### 添加 ChatLuna 依赖

参考由 Koishi 编写的[文档](https://koishi.chat/zh-CN/guide/develop/workspace.html#%E6%B7%BB%E5%8A%A0%E4%BE%9D%E8%B5%96),添加 ChatLuna 依赖到你的插件。

::: tabs code
```npm
npm install koishi-plugin-chatluna@next -D -P -w koishi-plugin-[name]
```
```yarn
yarn workspace koishi-plugin-[name] add koishi-plugin-chatluna@next -D -P
```
:::

执行完后记得修改 `peerDependencies` 字段,将 ChatLuna 的版本号改为和 `devDependencies` 一致。

如下:

```diff{json}
"peerDependencies": {
"koishi": "^4.15.6",
- "koishi-plugin-chatluna": "*"
+ "koishi-plugin-chatluna": "^1.0.0-beta.23"
},
"devDependencies": {
"koishi-plugin-chatluna": "^1.0.0-beta.23"
}
```
205 changes: 177 additions & 28 deletions docs/guide/useful-commands.md
Original file line number Diff line number Diff line change
@@ -53,47 +53,34 @@ chatluna.chat.voice -s <speakerId:number> -r <room:string> <message:text>
</chat-message>
</chat-panel>

## 模型(向量数据库,嵌入模型,大语言模型)
## 房间

### 列出语音模型列表
### 切换房间

列出当前 ChatLuna 可用的语音模型列表。
可指定 `page` 参数来选择页码,指定 `limit` 参数来选择返回的语言模型列表数量上限。
切换你在当前环境里(群聊或私聊里)默认使用的房间。

切换后使用聊天命令等,都会默认使用切换了的房间。

:::tip 提示
如执行其他指令(加入房间),可能会自动切换在当前环境里默认使用的房间!
:::

以下为命令格式:

```shell
chatluna.model.list -l <limit:number> -p <page:number>
chatluna.room.switch <room:text>
```

以下为可选参数:

- `-l,--limit`: 指定返回语音模型名称的数量上限,默认为 5。
- `-p,--page`: 指定返回语言模型名称的页数,默认为 1。

以下为例子:

<chat-panel>
<chat-message nickname="User">chatluna.model.list -l 10 </chat-message>
<chat-message nickname="Bot">以下是目前可用的模型列表:<br/>

<br/>spark/纳西妲<br/>
spark/v1.5<br/>
spark/v2<br/>
spark/v3<br/>
zhipu/ChatGLM-Pro<br/>
zhipu/ChatGLM-Std<br/>
zhipu/ChatGLM-Lite<br/>
zhipu/ChatGLM-Lite-32K<br/>
wenxin/ERNIE-Bot<br/>
wenxin/ERNIE-Bot-turbo<br/>

<br/>你可以使用 chatluna.room.set -m &lt;model&gt; 来设置默认使用的模型<br/>

<br/>当前为第 1 / 2 页
</chat-message>
<chat-message nickname="User">/chatluna.room.switch 测试</chat-message>
<chat-message nickname="Bot">
已切换到房间 测试
</chat-message>
</chat-panel>


## 预设

### 列出预设列表
@@ -261,3 +248,165 @@ chatluna.preset.delete <preset:string>
<chat-message nickname="Bot">
已删除预设: 猫娘改进版,即将自动重启完成更改。</chat-message>
</chat-panel>


## 模型(向量数据库,嵌入模型,大语言模型)

### 列出语言模型列表

列出当前 ChatLuna 可用的语音模型列表。
可指定 `page` 参数来选择页码,指定 `limit` 参数来选择返回的语言模型列表数量上限。

以下为命令格式:

```shell
chatluna.model.list -l <limit:number> -p <page:number>
```

以下为可选参数:

- `-l,--limit`: 指定返回语言模型名称的数量上限,默认为 5。
- `-p,--page`: 指定返回语言模型名称的页数,默认为 1。

以下为例子:

<chat-panel>
<chat-message nickname="User">chatluna.model.list -l 10 </chat-message>
<chat-message nickname="Bot">以下是目前可用的模型列表:<br/>

<br/>spark/纳西妲<br/>
spark/v1.5<br/>
spark/v2<br/>
spark/v3<br/>
zhipu/ChatGLM-Pro<br/>
zhipu/ChatGLM-Std<br/>
zhipu/ChatGLM-Lite<br/>
zhipu/ChatGLM-Lite-32K<br/>
wenxin/ERNIE-Bot<br/>
wenxin/ERNIE-Bot-turbo<br/>

<br/>你可以使用 chatluna.room.set -m &lt;model&gt; 来设置默认使用的模型<br/>

<br/>当前为第 1 / 2 页
</chat-message>
</chat-panel>

### 列出嵌入模型列表

列出当前 ChatLuna 可用的嵌入模型列表。

以下为命令格式:

```shell
chatluna.embeddings.list -l <limit:number> -p <page:number>
```

以下为可选参数:

- `-l,--limit`: 指定返回嵌入模型名称的数量上限,默认为 5。
- `-p,--page`: 指定返回嵌入模型名称的页数,默认为 1。

以下为例子:

<chat-panel>
<chat-message nickname="User">chatluna.embeddings.list -l 10 </chat-message>
<chat-message nickname="Bot">以下是目前可用的嵌入模型列表:<br/>

<br/>wenxin/text-embedding<br/>
openai/text-embedding-ada-002<br/>

<br/>你可以使用 chatluna.embeddings.set -m &lt;model&gt; 来设置默认使用的嵌入模型<br/>

<br/>当前为第 1 / 1 页
</chat-message>
</chat-panel>

### 列出向量数据库列表

列出当前 ChatLuna 可用的向量数据库列表。

以下为命令格式:

```shell
chatluna.vectorstore.list -l <limit:number> -p <page:number>
```

以下为可选参数:

- `-l,--limit`: 指定返回向量数据库名称的数量上限,默认为 5。
- `-p,--page`: 指定返回向量数据库名称的页数,默认为 1。

以下为例子:

<chat-panel>
<chat-message nickname="User">chatluna.vectorstore.list -l 10</chat-message>
<chat-message nickname="Bot">以下是目前可用的向量数据库列表:<br/>

<br/>faiss<br/>
lancedb<br/>
pinecone<br/>

<br/>你可以使用 chatluna.vectorstore.set -m &lt;model&gt; 来设置默认使用的向量数据库(如果没有任何向量数据库,会使用存储在内存里的向量数据库(临时的))<br/>

<br/>当前为第 1 / 1 页
</chat-message>
</chat-panel>

### 设置默认嵌入模型

设置当前 ChatLuna 使用的嵌入模型。

设置后如使用到嵌入模型,则优先使用设置的嵌入模型。

:::warning 警告
此命令需要被执行者含有 3 级权限。
在未来我们可能会跟随 Koishi 更新,使用其他方式进行权限验证(权限组)。
:::

:::tip 提示
此命令配置的效果和配置项里的[`defaultEmbeddings`](./useful-configurations.md#defaultembeddings)相同,因此也可以通过控制面板配置此项,无需执行此命令。
:::

以下为命令格式:

```shell
chatluna.embeddings.set <embeddings:string>
```

以下为例子:

<chat-panel>
<chat-message nickname="User">/chatluna.embeddings.set openai/text-embedding-ada-002</chat-message>
<chat-message nickname="Bot">已将默认嵌入模型设置为 openai/openai/text-embedding-ada-002&nbsp;(将自动重启插件应用更改)
</chat-message>
</chat-panel>


### 设置默认向量数据库

设置当前 ChatLuna 使用的向量数据库。

设置后如使用到向量数据库,则优先使用设置的向量数据库。

:::warning 警告
此命令需要被执行者含有 3 级权限。
在未来我们可能会跟随 Koishi 更新,使用其他方式进行权限验证(权限组)。
:::

:::tip 提示
此命令配置的效果和配置项里的[`defaultVectorStore`](./useful-configurations.md#defaultvectorstore)相同,因此也可以通过控制面板配置此项,无需执行此命令。
:::

以下为命令格式:

```shell
chatluna.vectorstore.set <vectorstore:string>
```

以下为例子:

<chat-panel>
<chat-message nickname="User">/chatluna.vectorstore.set faiss</chat-message>
<chat-message nickname="Bot">已将默认向量数据库设置为 faiss,&nbsp;(将自动重启插件应用更改)
</chat-message>
</chat-panel>

0 comments on commit 2e8fbb1

Please sign in to comment.