@@ -1,6 +1,6 @@
|
||||
[bot]
|
||||
qq = 123
|
||||
nickname = "麦麦"
|
||||
nickname = "麦麦" # 可自定义
|
||||
|
||||
[personality]
|
||||
prompt_personality = [
|
||||
@@ -25,9 +25,9 @@ register_interval = 10 # 注册表情包的时间间隔
|
||||
enable_pic_translate = false
|
||||
|
||||
[response]
|
||||
model_r1_probability = 0.8 # 麦麦回答时选择R1模型的概率
|
||||
model_v3_probability = 0.1 # 麦麦回答时选择V3模型的概率
|
||||
model_r1_distill_probability = 0.1 # 麦麦回答时选择R1蒸馏模型的概率
|
||||
model_r1_probability = 0.8 # 麦麦回答时选择R1模型(即[model.llm_reasoning]指定的模型)的概率
|
||||
model_v3_probability = 0.1 # 麦麦回答时选择V3模型(即[model.llm_normal]指定的模型)的概率
|
||||
model_r1_distill_probability = 0.1 # 麦麦回答时选择R1蒸馏模型(即[model.llm_reasoning_minor]指定的模型)的概率
|
||||
|
||||
[memory]
|
||||
build_memory_interval = 300 # 记忆构建间隔 单位秒
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## 部署方式
|
||||
|
||||
如果你不知道Docker是什么,建议寻找相关教程或使用手动部署
|
||||
**如果你不知道Docker是什么,建议寻找相关教程或使用手动部署**
|
||||
|
||||
### 🐳 Docker部署(推荐,但不一定是最新)
|
||||
|
||||
@@ -23,28 +23,59 @@ NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose restart
|
||||
|
||||
### 📦 手动部署
|
||||
|
||||
([这里](https://www.bilibili.com/opus/1041609335464001545)有一份由社区大佬编写的,适用于Windows的部署教程,可供参考)
|
||||
|
||||
1. **环境准备**
|
||||
下载Releases中的`Source code(zip)`并将其解压到一个文件夹里(**路径不要有中文**)
|
||||
|
||||
2. **安装Python**
|
||||
|
||||
要求Python 3.9+
|
||||
|
||||
Linux用户可在终端输入`python3 --version`确认Python版本,Windows用户可在命令行输入`python --version`确认Python版本
|
||||
|
||||
Windows用户需要安装[Python](https://www.python.org/downloads/windows/)并在安装时勾选“Add Python to PATH”选项(如访问速度慢,[这里](https://www.123912.com/s/ydQuVv-TMKBd)提供Python 3.12的安装包网盘链接)
|
||||
|
||||
Linux由于不同发行版安装Python的方式不同,请自行查阅相关教程(问AI、用搜索引擎搜一下都行)
|
||||
|
||||
```bash
|
||||
# 创建虚拟环境(推荐)
|
||||
# 在机器人的目录内打开终端/命令行,执行
|
||||
python -m venv venv
|
||||
|
||||
# 激活虚拟环境
|
||||
venv\\Scripts\\activate # Windows
|
||||
source venv/bin/activate # Linux
|
||||
|
||||
# 安装依赖
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. **配置MongoDB**
|
||||
3. **配置MongoDB**
|
||||
- 安装并启动MongoDB服务
|
||||
- 参考[MongoDB官方文档](https://www.mongodb.com/zh-cn/docs/manual/administration/install-community/#std-label-install-mdb-community-edition)
|
||||
- 建议使其开机自启(教程中有提及,称为“在系统重新启动后启动”)
|
||||
- 默认连接本地27017端口
|
||||
|
||||
3. **配置NapCat**
|
||||
4. **配置NapCat**
|
||||
- 安装并登录NapCat
|
||||
- 参考[NapCat官方文档](https://www.napcat.wiki/guide/install)
|
||||
- 添加反向WS:`ws://localhost:8080/onebot/v11/ws`
|
||||
*该项目基于 nonebot2 框架开发,理论上也支持对接其他平台,如有需求请自行寻找教程*
|
||||
|
||||
4. **配置文件设置**
|
||||
- 修改环境配置文件:`.env.prod`
|
||||
- 修改机器人配置文件:`bot_config.toml`
|
||||
5. **首次启动麦麦机器人**
|
||||
```bash
|
||||
# 在机器人的目录内打开终端/命令行,执行
|
||||
nb run
|
||||
```
|
||||
程序会创建基本配置文件,然后退出
|
||||
|
||||
5. **启动麦麦机器人**
|
||||
6. **配置文件设置**
|
||||
参照“配置说明”一节进行配置
|
||||
- 修改环境配置文件:`.env.prod`(位于机器人文件夹根目录)
|
||||
- 修改机器人配置文件:`config/bot_config.toml`(位于机器人文件夹根目录/config文件夹内)
|
||||
|
||||
7. **启动麦麦机器人**
|
||||
- 打开命令行,cd到对应路径
|
||||
```bash
|
||||
nb run
|
||||
@@ -60,86 +91,152 @@ nb run
|
||||
|
||||
### 环境配置 (.env.prod)
|
||||
```ini
|
||||
# API配置,你可以在这里定义你的密钥和base_url
|
||||
# 你可以选择定义其他服务商提供的KEY,完全可以自定义
|
||||
SILICONFLOW_KEY=your_key
|
||||
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
|
||||
DEEP_SEEK_KEY=your_key
|
||||
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
|
||||
|
||||
# 服务配置,如果你不知道这是什么,保持默认
|
||||
HOST=127.0.0.1
|
||||
PORT=8080
|
||||
PORT=8080 # 端口号,有需求可改
|
||||
|
||||
# 数据库配置,如果你不知道这是什么,保持默认
|
||||
# 插件配置
|
||||
PLUGINS=["src2.plugins.chat"]
|
||||
|
||||
# 数据库配置
|
||||
MONGODB_HOST=127.0.0.1
|
||||
MONGODB_PORT=27017
|
||||
DATABASE_NAME=MegBot
|
||||
|
||||
MONGODB_USERNAME = "" # 默认空值
|
||||
MONGODB_PASSWORD = "" # 默认空值
|
||||
MONGODB_AUTH_SOURCE = "" # 默认空值
|
||||
|
||||
# 以上内容如看不懂,保持默认即可
|
||||
|
||||
# 以下为API配置,你可以在这里定义你的密钥和base_url
|
||||
# 你可以选择定义其他服务商提供的KEY,完全可以自定义
|
||||
|
||||
#key and url
|
||||
# 定义你要用的api的base_url
|
||||
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
||||
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
|
||||
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
|
||||
# 你也可以自定义所需平台的base_url
|
||||
# 举例:
|
||||
# MODEL_NAME_BASE_URL=https://api.example.com/v1
|
||||
|
||||
|
||||
#定义你要用的api的API-KEY
|
||||
DEEP_SEEK_KEY=
|
||||
CHAT_ANY_WHERE_KEY=
|
||||
SILICONFLOW_KEY=
|
||||
# 你也可以自定义所需平台的API-KEY
|
||||
# 举例:
|
||||
# MODEL_NAME_KEY=
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
### 机器人配置 (bot_config.toml)
|
||||
```toml
|
||||
[bot]
|
||||
qq = "你的机器人QQ号"
|
||||
nickname = "麦麦"
|
||||
qq = 123
|
||||
nickname = "麦麦" # 可自定义
|
||||
|
||||
[personality]
|
||||
prompt_personality = [
|
||||
|
||||
]
|
||||
prompt_schedule =
|
||||
|
||||
[message]
|
||||
min_text_length = 2
|
||||
max_context_size = 15
|
||||
emoji_chance = 0.2
|
||||
min_text_length = 2 # 与麦麦聊天时麦麦只会回答文本大于等于此数的消息
|
||||
max_context_size = 15 # 麦麦获得的上文数量
|
||||
emoji_chance = 0.2 # 麦麦使用表情包的概率
|
||||
ban_words = [
|
||||
# "403","张三"
|
||||
]
|
||||
|
||||
[emoji]
|
||||
check_interval = 120
|
||||
register_interval = 10
|
||||
check_interval = 120 # 检查表情包的时间间隔
|
||||
register_interval = 10 # 注册表情包的时间间隔
|
||||
|
||||
[cq_code]
|
||||
enable_pic_translate = false
|
||||
|
||||
[response]
|
||||
#现已移除deepseek或硅基流动选项,可以直接切换分别配置任意模型
|
||||
model_r1_probability = 0.8 #推理模型权重
|
||||
model_v3_probability = 0.1 #非推理模型权重
|
||||
model_r1_distill_probability = 0.1
|
||||
model_r1_probability = 0.8 # 麦麦回答时选择R1模型(即[model.llm_reasoning]指定的模型)的概率
|
||||
model_v3_probability = 0.1 # 麦麦回答时选择V3模型(即[model.llm_normal]指定的模型)的概率
|
||||
model_r1_distill_probability = 0.1 # 麦麦回答时选择R1蒸馏模型(即[model.llm_reasoning_minor]指定的模型)的概率
|
||||
|
||||
[memory]
|
||||
build_memory_interval = 300
|
||||
build_memory_interval = 300 # 记忆构建间隔 单位秒
|
||||
forget_memory_interval = 300 # 记忆遗忘间隔 单位秒
|
||||
|
||||
[others]
|
||||
enable_advance_output = true # 是否启用详细日志输出
|
||||
enable_advance_output = true # 是否启用高级输出
|
||||
enable_kuuki_read = true # 是否启用读空气功能
|
||||
|
||||
[groups]
|
||||
talk_allowed = [] # 允许回复的群号列表
|
||||
talk_frequency_down = [] # 降低回复频率的群号列表
|
||||
ban_user_id = [] # 禁止回复的用户QQ号列表
|
||||
talk_allowed = [
|
||||
123,
|
||||
123,
|
||||
] #可以回复消息的群
|
||||
talk_frequency_down = [] #降低回复频率的群
|
||||
ban_user_id = [] #禁止回复消息的QQ号
|
||||
|
||||
[model.llm_reasoning]
|
||||
|
||||
#V3
|
||||
#name = "deepseek-chat"
|
||||
#base_url = "DEEP_SEEK_BASE_URL"
|
||||
#key = "DEEP_SEEK_KEY"
|
||||
|
||||
#R1
|
||||
#name = "deepseek-reasoner"
|
||||
#base_url = "DEEP_SEEK_BASE_URL"
|
||||
#key = "DEEP_SEEK_KEY"
|
||||
|
||||
#下面的模型若使用硅基流动则不需要更改,使用ds官方则改成.env.prod自定义的宏,使用自定义模型则选择定位相似的模型自己填写
|
||||
|
||||
[model.llm_reasoning] #R1
|
||||
name = "Pro/deepseek-ai/DeepSeek-R1"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
[model.llm_reasoning_minor]
|
||||
[model.llm_reasoning_minor] #R1蒸馏
|
||||
name = "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
[model.llm_normal]
|
||||
[model.llm_normal] #V3
|
||||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
[model.llm_normal_minor]
|
||||
[model.llm_normal_minor] #V2.5
|
||||
name = "deepseek-ai/DeepSeek-V2.5"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
[model.vlm]
|
||||
[model.vlm] #图像识别
|
||||
name = "deepseek-ai/deepseek-vl2"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
[model.embedding] #嵌入
|
||||
name = "BAAI/bge-m3"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
# 主题提取,jieba和snownlp不用api,llm需要api
|
||||
[topic]
|
||||
topic_extract='snownlp' # 只支持jieba,snownlp,llm三种选项
|
||||
|
||||
[topic.llm_topic]
|
||||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||||
base_url = "SILICONFLOW_BASE_URL"
|
||||
key = "SILICONFLOW_KEY"
|
||||
|
||||
```
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
- 目前部署方案仍在测试中,可能存在未知问题
|
||||
- 配置文件中的API密钥请妥善保管,不要泄露
|
||||
- 建议先在测试环境中运行,确认无误后再部署到生产环境
|
||||
- 配置文件中的API密钥请妥善保管,不要泄露,如需截图描述问题,请将截图中的API密钥打码(它们通常以`sk-`开头)
|
||||
- 建议先在测试环境中运行,确认无误后再部署到生产环境
|
||||
|
||||
21
template.env
21
template.env
@@ -1,10 +1,10 @@
|
||||
HOST=127.0.0.1
|
||||
PORT=8080
|
||||
PORT=8080 # 端口号,有需求可改
|
||||
|
||||
# 插件配置
|
||||
PLUGINS=["src2.plugins.chat"]
|
||||
|
||||
# 默认配置
|
||||
# 数据库配置
|
||||
MONGODB_HOST=127.0.0.1
|
||||
MONGODB_PORT=27017
|
||||
DATABASE_NAME=MegBot
|
||||
@@ -13,12 +13,25 @@ MONGODB_USERNAME = "" # 默认空值
|
||||
MONGODB_PASSWORD = "" # 默认空值
|
||||
MONGODB_AUTH_SOURCE = "" # 默认空值
|
||||
|
||||
# 以上内容如看不懂,保持默认即可
|
||||
|
||||
# 以下为API配置,你可以在这里定义你的密钥和base_url
|
||||
# 你可以选择定义其他服务商提供的KEY,完全可以自定义
|
||||
|
||||
#key and url
|
||||
# 定义你要用的api的base_url
|
||||
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
||||
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1/
|
||||
DEEP_SEEK_BASE_URL=https://api.deepseek.com/v1
|
||||
# 你也可以自定义所需平台的base_url
|
||||
# 举例:
|
||||
# MODEL_NAME_BASE_URL=https://api.example.com/v1
|
||||
|
||||
#定义你要用的api的base_url
|
||||
|
||||
#定义你要用的api的API-KEY
|
||||
DEEP_SEEK_KEY=
|
||||
CHAT_ANY_WHERE_KEY=
|
||||
SILICONFLOW_KEY=
|
||||
SILICONFLOW_KEY=
|
||||
# 你也可以自定义所需平台的API-KEY
|
||||
# 举例:
|
||||
# MODEL_NAME_KEY=
|
||||
|
||||
Reference in New Issue
Block a user