mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-10-30 04:15:45 +08:00
doc: 更新 provider.json 的说明
This commit is contained in:
@@ -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时,不会初始化,也不会被调用
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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` 页。
|
||||
Reference in New Issue
Block a user