forked from MuBai-He/ChatWaifu-marai
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.py
136 lines (115 loc) · 5.26 KB
/
config.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# 配置文件: 注释里标[必需]的参数必须修改, 其他参数根据需要修改, 但请勿删除
import logging
# [必需] Mirai的配置
# 请到配置mirai的步骤中的教程查看每个字段的信息
# adapter: 选择适配器,目前支持HTTPAdapter和WebSocketAdapter
# host: 运行mirai的主机地址
# port: 运行mirai的主机端口
# verifyKey: mirai-api-http的verifyKey
# qq: 机器人的QQ号
#
# 注意: QQ机器人配置不支持热重载及热更新
mirai_http_api_config = {
"adapter": "WebSocketAdapter",
"host": "localhost",
"port": 8080,
"verifyKey": "yirimirai",
"qq": 123456789,
}
# [必需] OpenAI的配置
# api_key: OpenAI的API Key
# 若只有一个api-key,请直接修改以下内容中的"openai_api_key"为你的api-key
# 如准备了多个api-key,可以以字典的形式填写,程序会自动选择可用的api-key
# 例如{
# "api0": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
# "api1": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
# }
openai_config = {
"api_key": {
"default": "opai的API在你的账号头像下点击view keys,create创建然后填在这个引号中"
},
}
# [必需] 管理员QQ号,用于接收报错等通知及执行管理员级别指令
admin_qq = 123456789
# 情景预设(机器人人格)
# 每个会话的预设信息,影响所有会话,无视指令重置
# 可以通过这个字段指定某些情况的回复,可直接用自然语言描述指令
# 例如: 如果我之后想获取帮助,请你说“输入!help获取帮助”,
# 这样用户在不知所措的时候机器人就会提示其输入!help获取帮助
# 可参考 https://github.com/PlexPt/awesome-chatgpt-prompts-zh
default_prompt = "私は日本人で、他の国の言語が読めません。もし私が他の言語を話すなら、あなたは日本語で私に返事をしなければなりません。"
# 群内响应规则
# 符合此消息的群内消息即使不包含at机器人也会响应
# 支持消息前缀匹配及正则表达式匹配
# 注意:由消息前缀(prefix)匹配的消息中将会删除此前缀,正则表达式(regexp)匹配的消息不会删除匹配的部分
# 前缀匹配优先级高于正则表达式匹配
# 正则表达式简明教程:https://www.runoob.com/regexp/regexp-tutorial.html
response_rules = {
"prefix": ["/ai", "!ai", "!ai", "ai"],
"regexp": [] # "为什么.*", "怎么?样.*", "怎么.*", "如何.*", "[Hh]ow to.*", "[Ww]hy not.*", "[Ww]hat is.*", ".*怎么办", ".*咋办"
}
# 单个api-key的费用警告阈值
# 当使用此api-key进行请求所消耗的费用估算达到此阈值时,会在控制台输出警告并通知管理员
# 若之后还有未使用超过此值的api-key,则会切换到新的api-key进行请求
# 单位:美元
api_key_fee_threshold = 18.0
# 是否根据估算的使用费用切换api-key
# 设置为False将只在接口报错超额时自动切换
auto_switch_api_key = False
# 敏感词过滤开关,以同样数量的*代替敏感词回复
# 请在sensitive.json中添加敏感词
sensitive_word_filter = True
# 每次向OpenAI接口发送对话记录上下文的字符数
# 最大不超过(4096 - max_tokens)个字符,max_tokens为上述completion_api_params中的max_tokens
# 注意:较大的prompt_submit_length会导致OpenAI账户额度消耗更快
prompt_submit_length = 1024
# OpenAI的completion API的参数
# 具体请查看OpenAI的文档: https://beta.openai.com/docs/api-reference/completions/create
completion_api_params = {
"model": "text-davinci-003",
"temperature": 0.6, # 数值越低得到的回答越理性,取值范围[0, 1]
"max_tokens": 512, # 每次向OpenAI请求的最大字符数, 不高于4096
"top_p": 1, # 生成的文本的文本与要求的符合度, 取值范围[0, 1]
"frequency_penalty": 0.2,
"presence_penalty": 1.0,
}
# OpenAI的Image API的参数
# 具体请查看OpenAI的文档: https://beta.openai.com/docs/api-reference/images/create
image_api_params = {
"size": "256x256", # 图片尺寸,支持256x256, 512x512, 1024x1024
}
# 回复消息时是否引用原消息
quote_origin = True
# 回复绘图时是否包含图片描述
include_image_description = True
# 消息处理的超时时间,单位为秒
process_message_timeout = 86400
# 机器人的配置
# user_name: 管理员(主人)的名字
# bot_name: 机器人的名字
user_name = '多米诺艾尔' # 自行修改
bot_name = 'Ai猫猫'
# 回复消息时是否显示[GPT]前缀
show_prefix = False
# 消息处理超时重试次数
retry_times = 1
# 每个会话的过期时间,单位为秒
# 默认值20分钟
session_expire_time = 60 * 20
# 是否上报统计信息
# 用于统计机器人的使用情况,不会收集任何用户信息
# 仅上报时间、字数使用量、绘图使用量,其他信息不会上报
report_usage = True
# 日志级别
logging_level = logging.INFO
# 定制帮助消息
help_message = """
帮助信息:
!help - 显示帮助
!reset - 重置会话
!last - 切换到前一次的对话
!next - 切换到后一次的对话
!usage - 列出各个api-key的使用量
!ranimg [电脑端&手机端] - 随机壁纸推荐
!galgame [资源网站(支持量子)] [资源名称] [资源页面] - 在网站查找资源
""".format(session_expire_time // 60)