diff --git a/src/posts/config-intro.md b/src/posts/config-intro.md deleted file mode 100644 index 59cc6317d..000000000 --- a/src/posts/config-intro.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -title: QChatGPT的详细配置解读 -icon: context -# 这是侧边栏的顺序 -order: 4 -# 设置作者 -author: Lazy -# 设置写作时间 -date: 2024-02-13 -category: - - 使用指南 -tag: - - 配置方法 - - 使用指南 ---- - - -:::info 目录 -[[toc]] -::: - -## 配置文件 - -### 配置文件是什么? - -当你下载好本项目后,会发现有一个`templates`文件夹,内部存放的就是即将生成的配置文件的模板 - -配置文件有以下这些: - -- `command.json`:用于存放有关QChatGPT项目命令的 -- `pipeline.json`:QChatGPT 3.0新引入的概念,平台适配器获取到消息事件之后,发送给pipeline排队进行处理 -- `platform.json`:与消息平台有关的配置 -- `plugin-settings.json`:用于配置插件 -- `provider.json`:控制AI功能,设置与OpenAI交互的参数,key,模型,反代地址,简单的人格预设等 -- `scenario-template.json`:配置人格预设的模板,实现更高级的人格预设 -- `sensitive-words.json`:设置敏感词,防止出现不当言论 -- `system.json`:设置一些系统信息,如管理员,代理,日志管理,并发数,持续渠道提示信息 - -以下是对各个配置文件的详细解读 - - -## plugin-settings.json - -这个文件会被复制到`plugins/`目录下 - -以前插件设置分为 metadata.json switch.json settions.json - -现在统一到这里管理 - -每次启动时,会同步这里的设置和实际加载的插件设置 - -**这个文件内容是由程序自动生成的,不要手动添加或删除项目,仅可修改优先级和启用状态** - -示例: - -```json -"plugins": [ - { - "name": "Nahida", - "description": "Hello Nahida", - "version": "0.1", - "author": "RockChinQ", - "source": "", - "main_file": "plugins/Nahida/main.py", - "pkg_path": "plugins/Nahida/", - "priority": 0, - "enabled": true - } -] -``` - -`source`:源码地址,若无内容,则表示这个插件不支持程序自动更新 - -`priority`: 插件运行优先级,在初始化、事件调用时,高优先级的插件将优先被处理 - -`enabled`:设置为false时,不会初始化,也不会被调用 diff --git a/src/posts/config/provider.md b/src/posts/config/provider.md index 223a4f22e..31c8f2f26 100644 --- a/src/posts/config/provider.md +++ b/src/posts/config/provider.md @@ -27,34 +27,70 @@ category: `enable-chat`:是否开启AI聊天功能 -## OpenAI 接口配置 openai-config +## 模型接口密钥 keys ```json -"openai-config": { - "api-keys": [ +"keys": { + "openai": [ "sk-1234567890" ], - "base_url": "https://api.openai.com/v1", - "chat-completions-params": { - "model": "gpt-3.5-turbo" - }, - "request-timeout": 120 + "anthropic": [ + "sk-1234567890" + ], + "moonshot": [ + "sk-1234567890" + ] }, ``` -`api-keys`:以列表的形式设置若干个api key +`keys`:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。 -`base_url`:设置接口地址,后面一定要加`/v1` +## 大模型请求器 requester -`model`:填写要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。 -简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。 +```json +"requester": { + "openai-chat-completions": { + "base-url": "https://api.openai.com/v1", + "args": {}, + "timeout": 120 + }, + "anthropic-messages": { + "base-url": "https://api.anthropic.com", + "args": { + "max_tokens": 1024 + }, + "timeout": 120 + }, + "moonshot-chat-completions": { + "base-url": "https://api.moonshot.cn/v1", + "args": {}, + "timeout": 120 + } + }, +``` + +`requester`:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。 + +`base-url`:设置接口地址。 + +`args`:请求时除了model之外的其他参数,以字典的形式设置。 + +`timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值 + +## 使用的模型 model + +```json +"model": "gpt-3.5-turbo", +``` + +`model`:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。 +简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。 例如: 1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`; 2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。 - -`request-timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值 +具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块。 ## 情景预设(人格) prompt diff --git a/src/posts/deploy/config.md b/src/posts/deploy/config.md index 310c4d7f4..6083a1e44 100644 --- a/src/posts/deploy/config.md +++ b/src/posts/deploy/config.md @@ -128,36 +128,8 @@ date: 2024-02-18 修改此配置文件以设置所连接的 AI 提供商的相关信息,仅讲解必要的配置项,更多的配置项详解请查看[配置详解](../config/)。 -```json -"openai-config": { - "api-keys": [ - "sk-1234567890" - ], - "base_url": "https://api.openai.com/v1", - "chat-completions-params": { - "model": "gpt-3.5-turbo" - }, - "request-timeout": 120 -}, -``` +需要修改 `keys`, `requester`, `model` 字段,目前支持 `openai(GPT)`, `anthropic(claude)`, `moonshot(月之暗面)` 三种接口及对应模型。 -`api-keys`:支持以列表的形式设置若干个api key,例如: +例如需要使用 OpenAI 的模型,则 将 OpenAI 的 api key 填写到 `keys.openai` 下,支持多个key。并修改 `model` 为需要使用的模型名称。若您使用了中转站,或者需要使用反向代理,则设置 `requester.openai-chat-completions` 下的 `base-url` 配置。 -```json -"api-keys": [ - "sk-1234567890", - "sk-23452354253", - "sk-2352453674" -], -``` - -`base_url`:设置接口地址,如果你从第三方购买了key,或者需要使用反向代理时才需要修改这个参数,后面一定要加`/v1` - -`model`:填写要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 `OneAPI/` 前缀以进行区分。 -简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 `OneAPI/` 前缀。 - -例如: -1. 通过 OneAPI 等中转服务接入了 OpenAI 的 `gpt-4` 模型,由于 `gpt-4` 也是使用 ChatCompletion 接口格式进行请求,则可以直接填入 `gpt-4`; -2. 通过 OneAPI 等中转服务接入了 Google 的 `gemini-pro` 模型,由于 `gemini-pro` 原生接口格式并非 ChatCompletion,因此需要填入 `OneAPI/gemini-pro`。 - -`request-timeout`:设置请求超时时间,以秒为单位,对于耗时较长的模型(如GPT4),建议设置较大值 \ No newline at end of file +具体设置方法请查看 配置详解模块的`provider.json` 页。 \ No newline at end of file