update:发布0.6.3前的准备工作,changlog,readme,配置文件修改
This commit is contained in:
31
README.md
31
README.md
@@ -61,7 +61,7 @@
|
||||
|
||||
### 📢 版本信息
|
||||
|
||||
**最新版本: v0.6.2** ([查看更新日志](changelogs/changelog.md))
|
||||
**最新版本: v0.6.3** ([查看更新日志](changelogs/changelog.md))
|
||||
> [!WARNING]
|
||||
> 请阅读教程后更新!!!!!!!
|
||||
> 请阅读教程后更新!!!!!!!
|
||||
@@ -110,19 +110,20 @@
|
||||
- [🚀 最新版本部署教程](https://docs.mai-mai.org/manual/deployment/mmc_deploy_windows.html) - 基于MaiCore的新版本部署方式(与旧版本不兼容)
|
||||
|
||||
|
||||
## 🎯 功能介绍
|
||||
## 🎯 0.6.3 功能介绍
|
||||
|
||||
| 模块 | 主要功能 | 特点 |
|
||||
|----------|------------------------------------------------------------------|-------|
|
||||
| 💬 聊天系统 | • 心流/推理聊天<br>• 关键词主动发言<br>• 多模型支持<br>• 动态prompt构建<br>• 私聊功能(PFC) | 拟人化交互 |
|
||||
| 🧠 心流系统 | • 实时思考生成<br>• 自动启停机制<br>• 日程系统联动<br>• 工具调用能力 | 智能化决策 |
|
||||
| 🧠 记忆系统 | • 优化记忆抽取<br>• 海马体记忆机制<br>• 聊天记录概括 | 持久化记忆 |
|
||||
| 😊 表情系统 | • 情绪匹配发送<br>• GIF支持<br>• 自动收集与审查 | 丰富表达 |
|
||||
| 💬 聊天系统 | • **统一调控不同回复逻辑**<br>• 智能交互模式 (普通聊天/专注聊天)<br>• 关键词主动发言<br>• 多模型支持<br>• 动态prompt构建<br>• 私聊功能(PFC)增强 | 拟人化交互 |
|
||||
| 🧠 心流系统 | • 实时思考生成<br>• **智能状态管理**<br>• **概率回复机制**<br>• 自动启停机制<br>• 日程系统联动<br>• **上下文感知工具调用** | 智能化决策 |
|
||||
| 🧠 记忆系统 | • **记忆整合与提取**<br>• 海马体记忆机制<br>• 聊天记录概括 | 持久化记忆 |
|
||||
| 😊 表情系统 | • **全新表情包系统**<br>• **优化选择逻辑**<br>• 情绪匹配发送<br>• GIF支持<br>• 自动收集与审查 | 丰富表达 |
|
||||
| 📅 日程系统 | • 动态日程生成<br>• 自定义想象力<br>• 思维流联动 | 智能规划 |
|
||||
| 👥 关系系统 | • 关系管理优化<br>• 丰富接口支持<br>• 个性化交互 | 深度社交 |
|
||||
| 👥 关系系统 | • **工具调用动态更新**<br>• 关系管理优化<br>• 丰富接口支持<br>• 个性化交互 | 深度社交 |
|
||||
| 📊 统计系统 | • 使用数据统计<br>• LLM调用记录<br>• 实时控制台显示 | 数据可视 |
|
||||
| 🔧 系统功能 | • 优雅关闭机制<br>• 自动数据保存<br>• 异常处理完善 | 稳定可靠 |
|
||||
| 🛠️ 工具系统 | • 知识获取工具<br>• 自动注册机制<br>• 多工具支持 | 扩展功能 |
|
||||
| 🛠️ 工具系统 | • **LPMM知识库集成**<br>• **上下文感知调用**<br>• 知识获取工具<br>• 自动注册机制<br>• 多工具支持 | 扩展功能 |
|
||||
| 📚 **知识库(LPMM)** | • **全新LPMM系统**<br>• **强大的信息检索能力** | 知识增强 |
|
||||
| ✨ **昵称系统** | • **自动为群友取昵称**<br>• **降低认错人概率** (早期阶段) | 身份识别 |
|
||||
|
||||
## 📐 项目架构
|
||||
|
||||
@@ -142,18 +143,6 @@ graph TD
|
||||
E --> M[情绪识别]
|
||||
```
|
||||
|
||||
|
||||
## 开发计划TODO:LIST
|
||||
|
||||
- 人格功能:WIP
|
||||
- 对特定对象的侧写功能
|
||||
- 图片发送,转发功能:WIP
|
||||
- 幽默和meme功能:WIP
|
||||
- 兼容gif的解析和保存
|
||||
- 小程序转发链接解析
|
||||
- 修复已知bug
|
||||
- 自动生成的回复逻辑,例如自生成的回复方向,回复风格
|
||||
|
||||
## ✍️如何给本项目报告BUG/提交建议/做贡献
|
||||
|
||||
MaiCore是一个开源项目,我们非常欢迎你的参与。你的贡献,无论是提交bug报告、功能需求还是代码pr,都对项目非常宝贵。我们非常感谢你的支持!🎉 但无序的讨论会降低沟通效率,进而影响问题的解决速度,因此在提交任何贡献前,请务必先阅读本项目的[贡献指南](depends-data/CONTRIBUTE.md)(待补完)
|
||||
|
||||
@@ -132,7 +132,7 @@ class BotConfig:
|
||||
# llm_reasoning_minor: Dict[str, str]
|
||||
llm_normal: Dict[str, str] # LLM普通
|
||||
llm_topic_judge: Dict[str, str] # LLM话题判断
|
||||
llm_summary_by_topic: Dict[str, str] # LLM话题总结
|
||||
llm_summary: Dict[str, str] # LLM话题总结
|
||||
llm_emotion_judge: Dict[str, str] # LLM情感判断
|
||||
embedding: Dict[str, str] # 嵌入
|
||||
vlm: Dict[str, str] # VLM
|
||||
|
||||
@@ -279,8 +279,7 @@ class BotConfig:
|
||||
# llm_reasoning_minor: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_normal: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_topic_judge: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_summary_by_topic: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_emotion_judge: Dict[str, str] = field(default_factory=lambda: {})
|
||||
llm_summary: Dict[str, str] = field(default_factory=lambda: {})
|
||||
embedding: Dict[str, str] = field(default_factory=lambda: {})
|
||||
vlm: Dict[str, str] = field(default_factory=lambda: {})
|
||||
moderation: Dict[str, str] = field(default_factory=lambda: {})
|
||||
@@ -481,8 +480,7 @@ class BotConfig:
|
||||
# "llm_reasoning_minor",
|
||||
"llm_normal",
|
||||
"llm_topic_judge",
|
||||
"llm_summary_by_topic",
|
||||
"llm_emotion_judge",
|
||||
"llm_summary",
|
||||
"vlm",
|
||||
"embedding",
|
||||
"llm_tool_use",
|
||||
|
||||
@@ -14,7 +14,7 @@ class SearchKnowledgeFromLPMMTool(BaseTool):
|
||||
"""从LPMM知识库中搜索相关信息的工具"""
|
||||
|
||||
name = "lpmm_search_knowledge"
|
||||
description = "从知识库中搜索相关信息"
|
||||
description = "从知识库中搜索相关信息,如果你需要知识,就使用这个工具"
|
||||
parameters = {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
@@ -81,4 +81,14 @@
|
||||
- **基于人格生成预设知识:**
|
||||
- 开发利用 LLM 和人格配置生成背景知识的功能。
|
||||
- 这些知识应符合角色的行为风格和可能的经历。
|
||||
- 作为一种"冷启动"或丰富角色深度的方式。
|
||||
- 作为一种"冷启动"或丰富角色深度的方式。
|
||||
|
||||
|
||||
## 开发计划TODO:LIST
|
||||
|
||||
- 人格功能:WIP
|
||||
- 对特定对象的侧写功能
|
||||
- 图片发送,转发功能:WIP
|
||||
- 幽默和meme功能:WIP
|
||||
- 小程序转发链接解析
|
||||
- 自动生成的回复逻辑,例如自生成的回复方向,回复风格
|
||||
@@ -29,7 +29,7 @@ class NormalChatGenerator:
|
||||
)
|
||||
|
||||
self.model_sum = LLMRequest(
|
||||
model=global_config.llm_summary_by_topic, temperature=0.7, max_tokens=3000, request_type="relation"
|
||||
model=global_config.llm_summary, temperature=0.7, max_tokens=3000, request_type="relation"
|
||||
)
|
||||
self.current_model_type = "r1" # 默认使用 R1
|
||||
self.current_model_name = "unknown model"
|
||||
|
||||
@@ -189,7 +189,7 @@ class Hippocampus:
|
||||
def __init__(self):
|
||||
self.memory_graph = MemoryGraph()
|
||||
self.llm_topic_judge = None
|
||||
self.llm_summary_by_topic = None
|
||||
self.llm_summary = None
|
||||
self.entorhinal_cortex = None
|
||||
self.parahippocampal_gyrus = None
|
||||
self.config = None
|
||||
@@ -203,7 +203,7 @@ class Hippocampus:
|
||||
# 从数据库加载记忆图
|
||||
self.entorhinal_cortex.sync_memory_from_db()
|
||||
self.llm_topic_judge = LLMRequest(self.config.llm_topic_judge, request_type="memory")
|
||||
self.llm_summary_by_topic = LLMRequest(self.config.llm_summary_by_topic, request_type="memory")
|
||||
self.llm_summary = LLMRequest(self.config.llm_summary, request_type="memory")
|
||||
|
||||
def get_all_node_names(self) -> list:
|
||||
"""获取记忆图中所有节点的名字列表"""
|
||||
@@ -1169,7 +1169,7 @@ class ParahippocampalGyrus:
|
||||
# 调用修改后的 topic_what,不再需要 time_info
|
||||
topic_what_prompt = self.hippocampus.topic_what(input_text, topic)
|
||||
try:
|
||||
task = self.hippocampus.llm_summary_by_topic.generate_response_async(topic_what_prompt)
|
||||
task = self.hippocampus.llm_summary.generate_response_async(topic_what_prompt)
|
||||
tasks.append((topic.strip(), task))
|
||||
except Exception as e:
|
||||
logger.error(f"生成话题 '{topic}' 的摘要时发生错误: {e}")
|
||||
|
||||
@@ -24,7 +24,7 @@ class MemoryConfig:
|
||||
consolidate_memory_interval: int # 记忆整合间隔
|
||||
|
||||
llm_topic_judge: str # 话题判断模型
|
||||
llm_summary_by_topic: str # 话题总结模型
|
||||
llm_summary: str # 话题总结模型
|
||||
|
||||
@classmethod
|
||||
def from_global_config(cls, global_config):
|
||||
@@ -44,7 +44,7 @@ class MemoryConfig:
|
||||
consolidate_memory_percentage=getattr(global_config, "consolidate_memory_percentage", 0.01),
|
||||
consolidate_memory_interval=getattr(global_config, "consolidate_memory_interval", 1000),
|
||||
llm_topic_judge=getattr(global_config, "llm_topic_judge", "default_judge_model"), # 添加默认模型名
|
||||
llm_summary_by_topic=getattr(
|
||||
global_config, "llm_summary_by_topic", "default_summary_model"
|
||||
llm_summary=getattr(
|
||||
global_config, "llm_summary", "default_summary_model"
|
||||
), # 添加默认模型名
|
||||
)
|
||||
|
||||
@@ -197,55 +197,44 @@ pfc_chatting = false # 是否启用PFC聊天,该功能仅作用于私聊,与
|
||||
# stream = <true|false> : 用于指定模型是否是使用流式输出
|
||||
# 如果不指定,则该项是 False
|
||||
|
||||
[model.llm_reasoning] #只在回复模式为reasoning时启用
|
||||
#这个模型必须是推理模型
|
||||
[model.llm_reasoning] # 一般聊天模式的推理回复模型
|
||||
name = "Pro/deepseek-ai/DeepSeek-R1"
|
||||
# name = "Qwen/QwQ-32B"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 4 #模型的输入价格(非必填,可以记录消耗)
|
||||
pri_out = 16 #模型的输出价格(非必填,可以记录消耗)
|
||||
pri_in = 1.0 #模型的输入价格(非必填,可以记录消耗)
|
||||
pri_out = 4.0 #模型的输出价格(非必填,可以记录消耗)
|
||||
|
||||
#非推理模型
|
||||
|
||||
[model.llm_normal] #V3 回复模型1 主要回复模型,默认temp 0.2 如果你使用的是老V3或者其他模型,请自己修改temp参数
|
||||
[model.llm_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.llm_emotion_judge] #表情包判断
|
||||
name = "Qwen/Qwen2.5-14B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 0.7
|
||||
pri_out = 0.7
|
||||
|
||||
[model.llm_topic_judge] #记忆主题判断:建议使用qwen2.5 7b
|
||||
[model.llm_topic_judge] #主题判断模型:建议使用qwen2.5 7b
|
||||
name = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 0
|
||||
pri_out = 0
|
||||
pri_in = 0.35
|
||||
pri_out = 0.35
|
||||
|
||||
[model.llm_summary_by_topic] #概括模型,建议使用qwen2.5 32b 及以上
|
||||
[model.llm_summary] #概括模型,建议使用qwen2.5 32b 及以上
|
||||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 1.26
|
||||
pri_out = 1.26
|
||||
|
||||
[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b
|
||||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 1.26
|
||||
pri_out = 1.26
|
||||
|
||||
# 识图模型
|
||||
|
||||
[model.vlm] #图像识别
|
||||
[model.vlm] # 图像识别模型
|
||||
name = "Pro/Qwen/Qwen2.5-VL-7B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 0.35
|
||||
pri_out = 0.35
|
||||
|
||||
|
||||
[model.llm_heartflow] # 用于控制麦麦是否参与聊天的模型
|
||||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 1.26
|
||||
pri_out = 1.26
|
||||
|
||||
[model.llm_observation] #观察模型,压缩聊天内容,建议用免费的
|
||||
# name = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
||||
@@ -254,19 +243,18 @@ provider = "SILICONFLOW"
|
||||
pri_in = 0
|
||||
pri_out = 0
|
||||
|
||||
[model.llm_sub_heartflow] #子心流:认真水群时,生成麦麦的内心想法
|
||||
name = "Qwen/Qwen2.5-72B-Instruct"
|
||||
[model.llm_sub_heartflow] #心流:认真水群时,生成麦麦的内心想法,必须使用具有工具调用能力的模型
|
||||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 4.13
|
||||
pri_out = 4.13
|
||||
temp = 0.7 #模型的温度,新V3建议0.1-0.3
|
||||
pri_in = 2
|
||||
pri_out = 8
|
||||
temp = 0.3 #模型的温度,新V3建议0.1-0.3
|
||||
|
||||
|
||||
[model.llm_plan] #决策模型:认真水群时,负责决定麦麦该做什么
|
||||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||||
[model.llm_plan] #决策:认真水群时,负责决定麦麦该做什么
|
||||
name = "Pro/deepseek-ai/DeepSeek-V3"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 1.26
|
||||
pri_out = 1.26
|
||||
pri_in = 2
|
||||
pri_out = 8
|
||||
|
||||
#嵌入模型
|
||||
|
||||
@@ -303,11 +291,13 @@ pri_in = 2
|
||||
pri_out = 8
|
||||
|
||||
|
||||
#此模型暂时没有使用!!
|
||||
#此模型暂时没有使用!!
|
||||
#此模型暂时没有使用!!
|
||||
[model.llm_heartflow] #心流
|
||||
# name = "Pro/Qwen/Qwen2.5-7B-Instruct"
|
||||
#以下模型暂时没有使用!!
|
||||
#以下模型暂时没有使用!!
|
||||
#以下模型暂时没有使用!!
|
||||
#以下模型暂时没有使用!!
|
||||
#以下模型暂时没有使用!!
|
||||
|
||||
[model.llm_tool_use] #工具调用模型,需要使用支持工具调用的模型,建议使用qwen2.5 32b
|
||||
name = "Qwen/Qwen2.5-32B-Instruct"
|
||||
provider = "SILICONFLOW"
|
||||
pri_in = 1.26
|
||||
|
||||
26
(临时版)聊天兴趣监控.bat.bat
Normal file
26
(临时版)聊天兴趣监控.bat.bat
Normal file
@@ -0,0 +1,26 @@
|
||||
@echo off
|
||||
CHCP 65001 > nul
|
||||
setlocal enabledelayedexpansion
|
||||
|
||||
REM 查找venv虚拟环境
|
||||
set "venv_path=%~dp0venv\Scripts\activate.bat"
|
||||
if not exist "%venv_path%" (
|
||||
echo 错误: 未找到虚拟环境,请确保venv目录存在
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM 激活虚拟环境
|
||||
call "%venv_path%"
|
||||
if %ERRORLEVEL% neq 0 (
|
||||
echo 错误: 虚拟环境激活失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo 虚拟环境已激活,正在启动 GUI...
|
||||
|
||||
REM 运行 Python 脚本
|
||||
python scripts/interest_monitor_gui.py
|
||||
|
||||
pause
|
||||
Reference in New Issue
Block a user