provider.json 配置项
目录
data/config/provider.json
中配置AI接口提供商相关的配置项。
启用聊天功能 enable-chat
"enable-chat": true,
enable-chat
:是否开启AI聊天功能
启用 AI 视觉功能 enable-vision
"enable-vision": true,
enable-vision
:是否开启AI视觉功能。需要使用的模型同时支持视觉功能,详情见元数据板块。
模型接口密钥 keys
"keys": {
"openai": [
"sk-1234567890"
],
"anthropic": [
"sk-1234567890"
],
"moonshot": [
"sk-1234567890"
],
"deepseek": [
"sk-1234567890"
]
},
keys
:设置密钥组,以字典的形式设置若干个密钥组,每个密钥组的键为密钥组名称,值为密钥列表。模型与密钥组的对应关系,请查看元数据板块。
目前支持的密钥组:
openai
:OpenAI 的密钥组,如果你没有OpenAI API Key,你可以在此获取anthropic
:Anthropic 的密钥组moonshot
:Moonshot(月之暗面 kimi)的密钥组deepseek
:Deepseek(深度求索)的密钥组
大模型请求器 requester
"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
},
"deepseek-chat-completions": {
"base-url": "https://api.deepseek.com",
"args": {},
"timeout": 120
},
"ollama-chat": {
"base-url": "http://127.0.0.1:11434",
"args": {},
"timeout": 600
}
},
requester
:设置请求器,以字典的形式设置若干个请求器,每个请求器的键为请求器名称,值为请求器配置。模型与请求器的对应关系,请查看元数据板块。实现请求器的方式,请查看插件编写教程。
目前支持的请求器有:
openai-chat-completions
:OpenAI 的 ChatCompletion 请求器anthropic-messages
:Anthropic 请求器(Claude)moonshot-chat-completions
:Moonshot 请求器(月之暗面)deepseek-chat-completions
:Deepseek 请求器(深度求索)ollama-chat
:Ollama 请求器,不需要密钥,直接请求目标地址的 Ollama 服务
base-url
:设置接口地址。
args
:请求时除了model之外的其他参数,以字典的形式设置。
timeout
:设置请求超时时间,以秒为单位,对于耗时较长的模型,建议设置较大值
使用的模型 model
"model": "gpt-3.5-turbo",
model
:设置要使用的模型名称。通常来说直接填写模型名称即可,但如果要使用原生接口不是 ChatCompletion 但以 ChatCompletion 接口格式接入的模型,请在模型名称前方加一个 OneAPI/
前缀以进行区分。 简单来说可以认为是:现阶段非 OpenAI 的模型接入都需要在模型名称前方加一个 OneAPI/
前缀。
例如:
- 通过 OneAPI 等中转服务接入了 OpenAI 的
gpt-4
模型,由于gpt-4
也是使用 ChatCompletion 接口格式进行请求,则可以直接填入gpt-4
; - 通过 OneAPI 等中转服务接入了 Google 的
gemini-pro
模型,由于gemini-pro
原生接口格式并非 ChatCompletion,因此需要填入OneAPI/gemini-pro
。
具体支持的模型列表和各个模型对应的请求器和密钥组,请查看元数据板块 llm-models.json 。
情景预设(人格) prompt
"prompt-mode": "normal",
"prompt": {
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
}
prompt-mode
:设置情景预设模式,值为normal
(单预设模式)和full-scenario
(完整历史对话模式)
normal
时,使用下面的prompt
,可设置多个
"prompt": {
"default": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。",
"help": "如果用户之后想获取帮助,请你说”输入!help获取帮助“。"
}
normal
模式也支持读取data/prompts
目录下的文件内容作为单个 System Prompt,文件名即为prompt
的名称。
在使用中通过!default set <预设名>
指令将其设为默认(将<预设名>整体替换)
full-scenario模式配置方法
把完整的历史对话以文件形式添加到data/scenario/
目录下,参考data/scenario/default.json
{
"prompt": [
{
"role": "system",
"content": "You are a helpful assistant. 如果我需要帮助,你要说“输入!help获得帮助”"
},
{
"role": "assistant",
"content": "好的,我是一个能干的AI助手。 如果你需要帮助,我会说“输入!help获得帮助”"
}
]
}
role
为消息的角色,可以是user
(用户)、assistant
(AI)、system
(系统) content
为字符串,表示消息内容。
在使用中通过!default set <文件名>
指令将其设为默认(将<预设名>整体替换)