Skip to content

Commit

Permalink
docs: update documentation and improve site configuration
Browse files Browse the repository at this point in the history
- Update model platform configuration guides for New Bing, Google Gemini, and Faiss
- Add general vector database introduction and configuration guide
- Improve site-wide links and navigation
- Update homepage features description
- Refactor some code structures for better maintainability
  • Loading branch information
dingyi222666 committed Sep 30, 2024
1 parent 3b64973 commit ef5be08
Show file tree
Hide file tree
Showing 17 changed files with 3,002 additions and 310 deletions.
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,4 @@ node_modules/
.vercel
package-lock.json
docs/.vitepress/cache
docs/.vitepress/dist
yarn.lock
docs/.vitepress/dist
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": ["newbing", "onappear", "vectorstore"],
"cSpell.words": ["newbing", "Ollama", "onappear", "vectorstore"],
"typescript.tsdk": "node_modules/typescript/lib"
}
Binary file modified .yarn/install-state.gz
Binary file not shown.
378 changes: 205 additions & 173 deletions docs/.vitepress/config.ts

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/.vitepress/theme/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
vertical-align: middle;
}



/* 背景模糊 */
:root {
--vp-nav-bg-color: var(--vp-c-bg);
Expand Down
3 changes: 1 addition & 2 deletions docs/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,4 @@ export default {
app.component('chat-message', ChatMessage);
enhanceAppWithTabs(app);
},
themeConfig: {},
} as Theme;
} satisfies Theme;
8 changes: 4 additions & 4 deletions docs/guide/configure-embedding-model/introduction.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 介绍

嵌入模型(Embeddings) 可以将文本转换为向量,从而实现文本的语义表示。
嵌入模型Embeddings 可以将文本转换为向量,从而实现文本的语义表示。

ChatLuna 使用嵌入模型来将用户的输入,模型的输出等数据转换为向量。

目前,ChatLuna 通过 嵌入模型 和 [向量数据库](../configure-vector-database/introduction.md) 为用户提供 [长期记忆](guide/session-related/long-term-memory) 功能。
目前,ChatLuna 通过 嵌入模型和[向量数据库](../configure-vector-database/introduction.md) 来为用户提供 [长期记忆](guide/session-related/long-term-memory) 功能。

::: tip
在未来,我们可能还会基于嵌入模型和长期记忆库,实现基于资料的 QA 问答。
Expand Down Expand Up @@ -36,10 +36,10 @@ ChatLuna 使用嵌入模型来将用户的输入,模型的输出等数据转

你可以点击上面的链接查看如何配置相应的嵌入模型。

## 使用嵌入模型
## 使用

当你接入一个嵌入模型后,你需要将它设置为默认的嵌入模型。

你可以在本体的配置项中 [选择](../useful-configurations#模型选项) 默认使用的嵌入模型。
你可以在 ChatLuna 主插件的配置项中 [选择](../useful-configurations#模型选项) 默认使用的嵌入模型。

也可使用指令设置默认嵌入模型,详见 [嵌入模型和向量数据库管理](../useful-commands.md#嵌入模型和向量数据库管理)
7 changes: 4 additions & 3 deletions docs/guide/configure-model-platform/bing-chat.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@

## 介绍

New Bing 是基于 GPT 4 的聊天机器人,可以实现对话式问答。并能结合 Bing 的搜索能力与网页阅读能力实现联网获取信息
New Bing 是基于 GPT 4 的聊天机器人,可以实现对话式问答。并结合 Bing 的搜索能力与网页阅读能力实现实时联网获取信息

我们支持对接 New Bing 中的三种聊天模式(创造,平衡,精确),并且额外适配了 New Bing 的识图功能。

::: tip 提示
在短期内我们不会适配 New Bing 的画图功能。
我们不会适配 New Bing 的画图功能。
:::

## 安装
Expand Down Expand Up @@ -56,7 +56,7 @@ New Bing 是基于 GPT 4 的聊天机器人,可以实现对话式问答。并

## 使用

在 New Bing 适配器的配置页面,点击运行按钮,如无误,你应该看不到任何错误 log,那即可转到 ChatLuna 的主插件页面。
在 New Bing 适配器的配置页面,点击运行按钮,如无误,你应该看不到任何错误 log,随后可转到 ChatLuna 的主插件页面。

在主插件页面,下划到 [模版房间选项](../useful-configurations.md#模版房间选项),查看 [defaultModel](../useful-configurations.md#defaultmodel) 的选项里是否含有符合 `bing/xxx` 格式的模型,如果有,则说明 New Bing 适配器已经成功的运行。

Expand All @@ -67,6 +67,7 @@ New Bing 是基于 GPT 4 的聊天机器人,可以实现对话式问答。并
![images](../../public/images/plugin_newbing_pic3.png)

让我们尝试和模型对话。

只要能正常对话,就说明你成功的连接到了 New Bing,接入了 New Bing 适配器。

![images](../../public/images/plugin_newbing_pic4.png)
Expand Down
66 changes: 0 additions & 66 deletions docs/guide/configure-model-platform/cluade-2.md

This file was deleted.

12 changes: 6 additions & 6 deletions docs/guide/configure-model-platform/google-gemini.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## 介绍

Google Gemini 是谷歌在 2023 年年底宣布推出其认为规模最大、功能最强大的人工智能模型
Google Gemini 是谷歌推出的一系列的人工智能模型

Google 目前推出了免费的 `gemini-1.5-pro` 模型,快去试试吧!
Google 为免费用户也提供了一定量的免费调用额度。我们也推荐你使用此系列模型。

## 安装

Expand All @@ -16,7 +16,7 @@ Google 目前推出了免费的 `gemini-1.5-pro` 模型,快去试试吧!

在配置之前,请先前往 [Google AI Studio](https://makersuite.google.com/app/apikey) 获取 Google AI Studio 平台的 `API KEY`

如使用为其他代理平台(转发接口,API-ADAPTER),还需额外获取 API host 地址。
如使用为其他代理平台(转发接口,API-Adapter),还需额外获取 API host 地址。

::: tip 提示
未来我们可能会录制官方教程,敬请期待。
Expand All @@ -32,14 +32,14 @@ Google 目前推出了免费的 `gemini-1.5-pro` 模型,快去试试吧!

## 使用

gemini 适配器的配置页面,点击运行按钮,如无误,你应该看不到任何错误 log,那即可转到 ChatLuna 的主插件页面。
Gemini 适配器的配置页面,点击运行按钮,如无误,你应该看不到任何错误 log,那即可转到 ChatLuna 的主插件页面。

在主插件页面,下划到 [模版房间选项](../useful-configurations.md#模版房间选项),查看 [defaultModel](../useful-configurations.md#defaultmodel) 的选项里是否含有 `gemini` 模型,如果有,则说明你已经成功地接入了 Google 平台。
在主插件页面,下划到[模版房间选项](../useful-configurations.md#模版房间选项),查看 [defaultModel](../useful-configurations.md#defaultmodel) 的选项里是否含有 `gemini` 模型,如果有,则说明你已经成功地接入了 Google 平台。

![images](../../public/images/plugin_gemini_config_2.png)

## 常见问题

### 1. 国内平台如何接入?

国内平台接入 Google 官方的接口,需要代理设置,前往主插件的配置页面,开启 [代理模式](../useful-configurations.md/#isproxy),然后配置 [代理地址](../useful-configurations.md#proxyaddress)
国内平台接入 Google 官方的接口,需要代理设置,前往主插件的配置页面,开启[代理模式](../useful-configurations.md/#isproxy),然后配置[代理地址](../useful-configurations.md#proxyaddress)
7 changes: 5 additions & 2 deletions docs/guide/configure-vector-database/faiss.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ Faiss 是一个由 Meta 的基础人工智能研究小组开发,用于高效

## 安装

前往插件市场,搜索并安装`chatluna-vector-store-service`即可。Faiss 数据库的依赖`faiss-node`已标记为该插件的依赖,您无需在安装后进行其他的操作。
前往插件市场,搜索并安装 `chatluna-vector-store-service` 即可。

注意 Faiss 数据库的依赖 `faiss-node` 被标记为该插件的可选依赖,你需要在安装前设置 `faiss-node` 安装。

## 配置

在配置之前,您需要确保安装 ChatLuna 与`chatluna-vector-store-service`,并确保该插件已经启用。然后在 ChatLuna 的 [模型选项](../useful-configurations.md#模型选项) 中找到 [defaultVectorStore](../useful-configurations.md#defaultvectorstore) 配置项,并选择数据库为`faiss`即可。
1. 安装 `chatluna-vector-store-service`,并确保已一同安装 `faiss-node`,确认安装成功后,启用该插件。
2. 在主插件的[模型选项](../useful-configurations.md#模型选项)中找到 [defaultVectorStore](../useful-configurations.md#defaultvectorstore) 配置项,选择为 `faiss` 即可。
18 changes: 15 additions & 3 deletions docs/guide/configure-vector-database/introduction.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
# 向量数据库

## 介绍
向量数据库是一种专门用于存储、检索和管理高维向量数据的数据库。目前在 ChatLuna 中用于存储长期记忆。

向量数据库是一种专门用于存储、检索和管理高维向量数据的数据库。在 ChatLuna 中用于存储长期记忆。
## 安装

前往 Koishi 插件市场,搜索 `chatluna-vector-database-service`,并安装。

此插件还需要配置后才能使用,你可以在安装后阅读插件的使用说明,按照其介绍进行配置相应的数据库。

## 支持的数据库

我们目前支持接入(使用)以下向量数据库:

- [Faiss](./faiss.md)
- [Redis](./redis.md)
- [LanceDB](./lancedb.md)
- [LanceDB](./lancedb.md)

## 使用

配置好任一向量数据库后,即可在主插件的配置项中[选择](../useful-configurations#defaultvectorstore)配置好了的向量数据库。

也可使用指令设置默认向量数据库,详见[嵌入模型和向量数据库管理](../useful-commands.md#嵌入模型和向量数据库管理)
34 changes: 17 additions & 17 deletions docs/guide/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## 安装 Koishi

在使用 ChatLuna 之前,你需要确保 [Node.js](https://nodejs.org/en) 版本在 v18 以上。
在使用 ChatLuna 之前,你需要确保 [Node.js](https://nodejs.org/en) 版本在 18.0 以上。

你可以使用 `node -v` 命令检查 Node.js 版本。

Expand All @@ -16,45 +16,45 @@

如你选择使用沙盒环境,可以直接跳到 [下一步](/guide/getting-started.html#安装前置依赖插件)

如你选择接入实际的聊天平台,请参考以下链接:
如你选择接入实际的聊天平台,请参考 [接入真实聊天平台](https://koishi.chat/zh-CN/manual/usage/adapter.html#%E6%8E%A5%E5%85%A5%E7%9C%9F%E5%AE%9E%E8%81%8A%E5%A4%A9%E5%B9%B3%E5%8F%B0)

- [接入其他聊天平台](https://koishi.chat/zh-CN/manual/console/adapter.html)
## 安装前置依赖服务

## 安装前置依赖插件
安装 ChatLuna 的必要前置依赖服务,ChatLuna 需要这些服务来提供基础功能。

安装 ChatLuna 的必要前置依赖插件,这些插件为 ChatLuna 提供了基础的服务。

### 数据库插件
### 数据库服务

ChatLuna 需要 `database` 服务,用于存储会话信息等持久化数据。

我们推荐使用 `database-sqlite`,它自带在大部分 Koishi 环境里,轻量且开箱即用。

你也可以安装并配置其他在 Koishi 插件市场上的数据库插件,如 MySQL、MongoDB 等。

### 缓存插件
### 缓存服务

ChatLuna 还需要 `cache` 服务,用于存储某些临时配置。

我们推荐使用 `cache-database`,它几乎不需要配置。
我们推荐使用 `cache-database`,它几乎不需要额外配置。随 `database` 相关服务插件一同启用后即可。

### 可选服务

### 可选插件
这些服务是为了 ChatLuna 的某些功能而额外需要的服务。你可以根据需要选择安装。

- `puppeteer` 插件:用于渲染模型发送内容。
- `censor` 服务插件:用于回复内容过滤。注意,有的插件不审核文本信息,请注意识别。
- `vits` 服务插件:用于渲染模型回复,生成语音。
- `puppeteer` 服务:用于渲染模型回复。(用于图片模式的输出格式,搜索服务的必须插件)
- `censor` 服务:用于回复内容过滤。注意,有的插件不审核文本信息,请注意识别。
- `vits` 服务:用于渲染模型回复,生成语音。

## 安装 ChatLuna 主插件
## 安装主插件

搜索并安装 `chatluna` 插件,这是 ChatLuna 的主插件。

::: warning 注意
主插件本身不包含任何模型平台适配,后面还需要安装平台适配插件
主插件本身不包含任何模型适配器,后面还需要安装模型适配器
:::

## 安装模型适配器

安装你需要平台的模型适配器。在插件市场输入 ChatLuna + adapter 搜索。然后选择你需要的适配器安装。
安装你需要平台的模型适配器。在插件市场输入 `ChatLuna + adapter` 搜索。然后选择你需要的适配器安装。

![image](../public//images/plugin_market_pic1.png)

Expand Down Expand Up @@ -98,7 +98,7 @@ ChatLuna 还需要 `cache` 服务,用于存储某些临时配置。

## 开始聊天

最后使用 [`chatluna.chat.text`](/guide/useful-commands#模型对话) 命令,开始和模型进行交互对话
最后使用 [`chatluna.chat.text`](/guide/useful-commands#模型对话) 命令,即可和模型进行交互对话

通过以上步骤,你已经基本配置好了 ChatLuna,并且可以和模型对话了。

Expand Down
37 changes: 21 additions & 16 deletions docs/guide/introduction.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
# 插件介绍
# 介绍

[ChatLuna](https://github.com/ChatLunaLab/chatluna) 是一款基于 [LangChain](https://github.com/hwchase17/langchainjs) 的语言模型聊天服务插件,运行在 [Koishi](https://koishi.chat/zh-CN/)
[ChatLuna](https://github.com/ChatLunaLab/chatluna) 是一款强大的语言模型聊天服务插件,基于 [LangChain](https://github.com/langchain-ai/langchainjs) 开发,目前作为 [Koishi](https://koishi.chat/zh-CN/) 上的插件存在。ChatLuna 支持与多种主流大语言模型进行交互,如 OpenAI、Google Gemini 和 Claude 等

它可以让用户与目前流行的语言模型或平台进行聊天互动,如 OpenAI(API)、New Bing、ChatGLM 等。项目底层和语言模型交互的模块基于 LangChain,其他 Koishi 插件开发者也可以使用此项目提供的 [LangChain Model](https://js.langchain.com/docs/modules/models/chat/) 和大语言模型进行交互
ChatLuna 不仅为用户提供了模型聊天功能,还为其他 Koishi 插件开发者提供了便捷的 [LangChain Model](https://js.langchain.com/docs/concepts/#chat-models) 接口,方便他们与大语言模型进行交互和扩展开发

## 特性

- 高扩展性:利用 LangChain 和 Koishi 提供的扩展 API,第三方插件开发者可以轻松地扩展或调用此项目的服务,如添加新的语言模型、调用语言模型等
- 预设系统:支持设置会话预设,调整模型的行为和风格
- 黑名单系统:支持全局冷却时间和模型并发请求限制,以及按小时的模型调用额度限制,方便管理模型的调用限额等
- 多媒体回复:支持语音/文字/图片/图文混合回复,也支持解析生成的 Markdown,实现自然地分割成多条消息来发送
- 上下文对话:支持长期记忆功能(需要适配器支持),让模型能够记住用户的信息和偏好
- 三种聊天模式:`chat``browsing``plugin`,后两种模式可以让模型调用外部提供的某些工具,使得模型能够获取到外部信息
- 内容安全过滤:基于 Koishi 的 [censor](https://censor.koishi.chat/) 服务,防止模型返回不良内容
- 🔌 高度可扩展:轻松添加新的语言模型或调用现有服务
- 🎭 灵活的预设系统:自定义会话预设,精确调整模型行为
- 🔒 智能资源管理:支持全局冷却、并发限制和调用额度控制
- 🖼️ 多媒体交互:支持语音、文字、图片及混合形式的回复
- 🧠 上下文感知:支持聊天记录保存与长期记忆,提供个性化体验
- 🔀 多种聊天模式:提供 chatbrowsingplugin 三种模式。browsing 可以联网感知消息,plugin 则可以让模型调用各种工具
- 🛡️ 内容安全:集成 Koishi 的 censor 服务,过滤不良内容

## 下一步

- 快速上手:参考 [快速上手](/guide/getting-started) 来入门 ChatLuna。
- 指令列表:参考 [指令列表](/guide/useful-commands) 来了解 ChatLuna 可用的指令或某个指令的用法。
- 配置项:参考 [配置项](/guide/useful-configurations.html) 来了解 ChatLuna 主插件的所有配置项。
- 配置模型平台:参考 [配置模型平台](/guide/configure-model-platform/introduction.html) 来了解如何配置某个语言模型平台。
- 开发指南:如果您是第三方插件开发者,请参考 [开发指南](/development/introduction) 来了解如何接入或使用 ChatLuna 提供的相关 API。
- 帮助和贡献:如果您想要帮助我们完善或翻译文档,请在 Github 上 Fork 文档项目后提交 PR。[项目地址](https://github.com/ChatLunaLab/doc)
想要使用 ChatLuna,请阅读[快速上手](/guide/getting-started)指南。

要了解 ChatLuna 的所有可用指令及其用法,请参考[指令列表](/guide/useful-commands)

如需深入了解 ChatLuna 的配置选项,请查看[配置说明](/guide/useful-configurations.html)

要学习如何配置特定的语言模型平台,请参阅[模型配置](/guide/configure-model-platform/introduction.html)指南。

对于第三方插件开发者,我们提供了详细的[开发文档](/development/introduction),帮助您集成和使用 ChatLuna 的 API。

如果您希望为 ChatLuna 的文档做出贡献,欢迎查看我们的[贡献指南](https://github.com/ChatLunaLab/doc)并提交 PR。
Loading

0 comments on commit ef5be08

Please sign in to comment.