Merge pull request #87 from enKl03B/main

部分文本描述更改
This commit is contained in:
SengokuCola
2025-03-08 10:30:16 +08:00
committed by GitHub
3 changed files with 158 additions and 48 deletions

View File

@@ -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 # 记忆构建间隔 单位秒

View File

@@ -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不用apillm需要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-`开头)
- 建议先在测试环境中运行,确认无误后再部署到生产环境

View File

@@ -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=