doc: 更新 provider.json 的说明

This commit is contained in:
RockChinQ
2024-03-20 16:52:43 +08:00
parent fb10d4dc6d
commit 1a6c02da41
3 changed files with 53 additions and 121 deletions
-76
View File
@@ -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时,不会初始化,也不会被调用
+50 -14
View File
@@ -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
+3 -31
View File
@@ -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),建议设置较大值
具体设置方法请查看 配置详解模块的`provider.json` 页。