304 lines
13 KiB
TOML
304 lines
13 KiB
TOML
[inner]
|
||
version = "2.5.0"
|
||
|
||
#----以下是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||
#如果你想要修改配置文件,请在修改后将version的值进行变更
|
||
#如果新增项目,请阅读src/config/official_configs.py中的说明
|
||
#
|
||
# 版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
|
||
# 主版本号:当你做了不兼容的 API 修改,
|
||
# 次版本号:当你做了向下兼容的功能性新增,
|
||
# 修订号:当你做了向下兼容的问题修正。
|
||
# 先行版本号及版本编译信息可以加到"主版本号.次版本号.修订号"的后面,作为延伸。
|
||
#----以上是给开发人员阅读的,如果你只是部署了麦麦,不需要阅读----
|
||
|
||
[bot]
|
||
qq_account = 1145141919810
|
||
nickname = "麦麦"
|
||
alias_names = ["麦叠", "牢麦"] #仅在 专注聊天 有效
|
||
|
||
[personality]
|
||
personality_core = "用一句话或几句话描述人格的核心特点" # 建议20字以内,谁再写3000字小作文敲谁脑袋
|
||
personality_sides = [
|
||
"用一句话或几句话描述人格的一些细节",
|
||
"用一句话或几句话描述人格的一些细节",
|
||
"用一句话或几句话描述人格的一些细节",
|
||
"用一句话或几句话描述人格的一些细节",
|
||
"用一句话或几句话描述人格的一些细节",
|
||
]# 条数任意,不能为0
|
||
|
||
# 身份特点
|
||
[identity] #アイデンティティがない 生まれないらららら
|
||
identity_detail = [
|
||
"年龄为19岁",
|
||
"是女孩子",
|
||
"身高为160cm",
|
||
"有橙色的短发",
|
||
]
|
||
# 可以描述外贸,性别,身高,职业,属性等等描述
|
||
# 条数任意,不能为0
|
||
|
||
[chat] #麦麦的聊天通用设置
|
||
chat_mode = "normal" # 聊天模式 —— 普通模式:normal,专注模式:focus,在普通模式和专注模式之间自动切换
|
||
# chat_mode = "focus"
|
||
# chat_mode = "auto"
|
||
|
||
# 普通模式下,麦麦会针对感兴趣的消息进行回复,token消耗量较低
|
||
# 专注模式下,麦麦会进行主动的观察和回复,并给出回复,token消耗量较高
|
||
# 自动模式下,麦麦会根据消息内容自动切换到专注模式或普通模式
|
||
|
||
[message_receive]
|
||
# 以下是消息过滤,可以根据规则过滤特定消息,将不会读取这些消息
|
||
ban_words = [
|
||
# "403","张三"
|
||
]
|
||
|
||
ban_msgs_regex = [
|
||
# 需要过滤的消息(原始消息)匹配的正则表达式,匹配到的消息将被过滤(支持CQ码),若不了解正则表达式请勿修改
|
||
#"https?://[^\\s]+", # 匹配https链接
|
||
#"\\d{4}-\\d{2}-\\d{2}", # 匹配日期
|
||
# "\\[CQ:at,qq=\\d+\\]" # 匹配@
|
||
]
|
||
|
||
[normal_chat] #普通聊天
|
||
#一般回复参数
|
||
reasoning_model_probability = 0.3 # 麦麦回答时选择推理模型的概率(与之相对的,普通模型的概率为1 - reasoning_model_probability)
|
||
max_context_size = 15 #上下文长度
|
||
emoji_chance = 0.2 # 麦麦一般回复时使用表情包的概率,设置为1让麦麦自己决定发不发
|
||
thinking_timeout = 120 # 麦麦最长思考时间,超过这个时间的思考会放弃(往往是api反应太慢)
|
||
message_buffer = true # 启用消息缓冲器?启用此项以解决消息的拆分问题,但会使麦麦的回复延迟
|
||
|
||
willing_mode = "classical" # 回复意愿模式 —— 经典模式:classical,mxp模式:mxp,自定义模式:custom(需要你自己实现)
|
||
response_willing_amplifier = 1 # 麦麦回复意愿放大系数,一般为1
|
||
response_interested_rate_amplifier = 1 # 麦麦回复兴趣度放大系数,听到记忆里的内容时放大系数
|
||
down_frequency_rate = 3 # 降低回复频率的群组回复意愿降低系数 除法
|
||
emoji_response_penalty = 0 # 表情包回复惩罚系数,设为0为不回复单个表情包,减少单独回复表情包的概率
|
||
mentioned_bot_inevitable_reply = false # 提及 bot 必然回复
|
||
at_bot_inevitable_reply = false # @bot 必然回复
|
||
talk_frequency_down_groups = [] #降低回复频率的群号码
|
||
|
||
[focus_chat] #专注聊天
|
||
reply_trigger_threshold = 3.0 # 专注聊天触发阈值,越低越容易进入专注聊天
|
||
default_decay_rate_per_second = 0.98 # 默认衰减率,越大衰减越快,越高越难进入专注聊天
|
||
consecutive_no_reply_threshold = 3 # 连续不回复的阈值,越低越容易结束专注聊天
|
||
|
||
think_interval = 1 # 思考间隔 单位秒
|
||
|
||
observation_context_size = 15 # 观察到的最长上下文大小,建议15,太短太长都会导致脑袋尖尖
|
||
compressed_length = 5 # 不能大于chat.observation_context_size,心流上下文压缩的最短压缩长度,超过心流观察到的上下文长度,会压缩,最短压缩长度为5
|
||
compress_length_limit = 5 #最多压缩份数,超过该数值的压缩上下文会被删除
|
||
|
||
[focus_chat_processor] # 专注聊天处理器,打开可以实现更多功能,但是会增加token消耗
|
||
self_identify_processor = true # 是否启用自我识别处理器
|
||
tool_use_processor = true # 是否启用工具使用处理器
|
||
working_memory_processor = true # 是否启用工作记忆处理器
|
||
|
||
[expression]
|
||
# 表达方式
|
||
expression_style = "描述麦麦说话的表达风格,表达习惯"
|
||
enable_expression_learning = true # 是否启用表达学习
|
||
learning_interval = 300 # 学习间隔 单位秒
|
||
|
||
|
||
[emoji]
|
||
max_reg_num = 40 # 表情包最大注册数量
|
||
do_replace = true # 开启则在达到最大数量时删除(替换)表情包,关闭则达到最大数量时不会继续收集表情包
|
||
check_interval = 120 # 检查表情包(注册,破损,删除)的时间间隔(分钟)
|
||
save_pic = true # 是否保存图片
|
||
cache_emoji = true # 是否缓存表情包
|
||
steal_emoji = true # 是否偷取表情包,让麦麦可以发送她保存的这些表情包
|
||
content_filtration = false # 是否启用表情包过滤,只有符合该要求的表情包才会被保存
|
||
filtration_prompt = "符合公序良俗" # 表情包过滤要求,只有符合该要求的表情包才会被保存
|
||
|
||
[memory]
|
||
memory_build_interval = 2000 # 记忆构建间隔 单位秒 间隔越低,麦麦学习越多,但是冗余信息也会增多
|
||
memory_build_distribution = [6.0, 3.0, 0.6, 32.0, 12.0, 0.4] # 记忆构建分布,参数:分布1均值,标准差,权重,分布2均值,标准差,权重
|
||
memory_build_sample_num = 8 # 采样数量,数值越高记忆采样次数越多
|
||
memory_build_sample_length = 40 # 采样长度,数值越高一段记忆内容越丰富
|
||
memory_compress_rate = 0.1 # 记忆压缩率 控制记忆精简程度 建议保持默认,调高可以获得更多信息,但是冗余信息也会增多
|
||
|
||
forget_memory_interval = 1000 # 记忆遗忘间隔 单位秒 间隔越低,麦麦遗忘越频繁,记忆更精简,但更难学习
|
||
memory_forget_time = 24 #多长时间后的记忆会被遗忘 单位小时
|
||
memory_forget_percentage = 0.01 # 记忆遗忘比例 控制记忆遗忘程度 越大遗忘越多 建议保持默认
|
||
|
||
consolidate_memory_interval = 1000 # 记忆整合间隔 单位秒 间隔越低,麦麦整合越频繁,记忆更精简
|
||
consolidation_similarity_threshold = 0.7 # 相似度阈值
|
||
consolidation_check_percentage = 0.01 # 检查节点比例
|
||
|
||
#不希望记忆的词,已经记忆的不会受到影响
|
||
memory_ban_words = [ "表情包", "图片", "回复", "聊天记录" ]
|
||
|
||
[mood] # 仅在 普通聊天 有效
|
||
mood_update_interval = 1.0 # 情绪更新间隔 单位秒
|
||
mood_decay_rate = 0.95 # 情绪衰减率
|
||
mood_intensity_factor = 1.0 # 情绪强度因子
|
||
|
||
[keyword_reaction] # 针对某个关键词作出反应
|
||
enable = true # 关键词反应功能的总开关
|
||
|
||
[[keyword_reaction.rules]] # 如果想要新增多个关键词,直接复制本条,修改keywords和reaction即可
|
||
enable = true # 是否启用此条(为了人类在未来AI战争能更好地识别AI(bushi),默认开启)
|
||
keywords = ["人机", "bot", "机器", "入机", "robot", "机器人","ai","AI"] # 会触发反应的关键词
|
||
reaction = "有人说你是人机或者机器人,否定这一事实,攻击或反问他。注意,只有认为你是机器人才回复,否则不要否认" # 触发之后添加的提示词
|
||
|
||
[[keyword_reaction.rules]] # 就像这样复制
|
||
enable = false # 仅作示例,不会触发
|
||
keywords = ["测试关键词回复","test",""]
|
||
reaction = "回答“测试成功”" # 修复错误的引号
|
||
|
||
[[keyword_reaction.rules]] # 使用正则表达式匹配句式
|
||
enable = false # 仅作示例,不会触发
|
||
regex = ["^(?P<n>\\S{1,20})是这样的$"] # 将匹配到的词汇命名为n,反应中对应的[n]会被替换为匹配到的内容,若不了解正则表达式请勿编写
|
||
reaction = "请按照以下模板造句:[n]是这样的,xx只要xx就可以,可是[n]要考虑的事情就很多了,比如什么时候xx,什么时候xx,什么时候xx。(请自由发挥替换xx部分,只需保持句式结构,同时表达一种将[n]过度重视的反讽意味)"
|
||
|
||
[chinese_typo]
|
||
enable = true # 是否启用中文错别字生成器
|
||
error_rate=0.01 # 单字替换概率
|
||
min_freq=9 # 最小字频阈值
|
||
tone_error_rate=0.1 # 声调错误概率
|
||
word_replace_rate=0.006 # 整词替换概率
|
||
|
||
[response_splitter]
|
||
enable = true # 是否启用回复分割器
|
||
max_length = 256 # 回复允许的最大长度
|
||
max_sentence_num = 4 # 回复允许的最大句子数
|
||
enable_kaomoji_protection = false # 是否启用颜文字保护
|
||
|
||
[maim_message]
|
||
auth_token = [] # 认证令牌,用于API验证,为空则不启用验证
|
||
# 以下项目若要使用需要打开use_custom,并单独配置maim_message的服务器
|
||
use_custom = false # 是否启用自定义的maim_message服务器,注意这需要设置新的端口,不能与.env重复
|
||
host="127.0.0.1"
|
||
port=8090
|
||
mode="ws" # 支持ws和tcp两种模式
|
||
use_wss = false # 是否使用WSS安全连接,只支持ws模式
|
||
cert_file = "" # SSL证书文件路径,仅在use_wss=true时有效
|
||
key_file = "" # SSL密钥文件路径,仅在use_wss=true时有效
|
||
|
||
|
||
[telemetry] #发送统计信息,主要是看全球有多少只麦麦
|
||
enable = true
|
||
|
||
[experimental] #实验性功能
|
||
enable_friend_chat = false # 是否启用好友聊天
|
||
pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与回复模式独立
|
||
|
||
#下面的模型若使用硅基流动则不需要更改,使用ds官方则改成.env自定义的宏,使用自定义模型则选择定位相似的模型自己填写
|
||
#推理模型
|
||
|
||
# 额外字段
|
||
# 下面的模型有以下额外字段可以添加:
|
||
|
||
# stream = <true|false> : 用于指定模型是否是使用流式输出
|
||
# 如果不指定,则该项是 False
|
||
|
||
[model]
|
||
model_max_output_length = 800 # 模型单次返回的最大token数
|
||
|
||
#这个模型必须是推理模型
|
||
[model.reasoning] # 一般聊天模式的推理回复模型
|
||
name = "Pro/deepseek-ai/DeepSeek-R1"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 1.0 #模型的输入价格(非必填,可以记录消耗)
|
||
pri_out = 4.0 #模型的输出价格(非必填,可以记录消耗)
|
||
|
||
[model.normal] #V3 回复模型 专注和一般聊天模式共用的回复模型
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 2 #模型的输入价格(非必填,可以记录消耗)
|
||
pri_out = 8 #模型的输出价格(非必填,可以记录消耗)
|
||
#默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数
|
||
temp = 0.2 #模型的温度,新V3建议0.1-0.3
|
||
|
||
[model.topic_judge] #主题判断模型:建议使用qwen2.5 7b
|
||
name = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 0.35
|
||
pri_out = 0.35
|
||
|
||
[model.summary] #概括模型,建议使用qwen2.5 32b 及以上
|
||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 1.26
|
||
pri_out = 1.26
|
||
|
||
[model.vlm] # 图像识别模型
|
||
name = "Pro/Qwen/Qwen2.5-VL-7B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 0.35
|
||
pri_out = 0.35
|
||
|
||
[model.heartflow] # 用于控制麦麦是否参与聊天的模型
|
||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 1.26
|
||
pri_out = 1.26
|
||
|
||
[model.observation] #观察模型,压缩聊天内容,建议用免费的
|
||
# name = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
||
name = "Qwen/Qwen2.5-7B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 0
|
||
pri_out = 0
|
||
|
||
[model.sub_heartflow] #心流:认真聊天时,生成麦麦的内心想法,必须使用具有工具调用能力的模型
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 2
|
||
pri_out = 8
|
||
temp = 0.3 #模型的温度,新V3建议0.1-0.3
|
||
|
||
[model.plan] #决策:认真聊天时,负责决定麦麦该做什么
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 2
|
||
pri_out = 8
|
||
|
||
#嵌入模型
|
||
|
||
[model.embedding] #嵌入
|
||
name = "BAAI/bge-m3"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 0
|
||
pri_out = 0
|
||
|
||
|
||
#私聊PFC:需要开启PFC功能,默认三个模型均为硅基流动v3,如果需要支持多人同时私聊或频繁调用,建议把其中的一个或两个换成官方v3或其它模型,以免撞到429
|
||
|
||
#PFC决策模型
|
||
[model.pfc_action_planner]
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
temp = 0.3
|
||
pri_in = 2
|
||
pri_out = 8
|
||
|
||
#PFC聊天模型
|
||
[model.pfc_chat]
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
temp = 0.3
|
||
pri_in = 2
|
||
pri_out = 8
|
||
|
||
#PFC检查模型
|
||
[model.pfc_reply_checker]
|
||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 2
|
||
pri_out = 8
|
||
|
||
|
||
#以下模型暂时没有使用!!
|
||
#以下模型暂时没有使用!!
|
||
#以下模型暂时没有使用!!
|
||
#以下模型暂时没有使用!!
|
||
#以下模型暂时没有使用!!
|
||
|
||
[model.tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b
|
||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||
provider = "SILICONFLOW"
|
||
pri_in = 1.26
|
||
pri_out = 1.26
|
||
|