astrbot_plugin_iearning_style(入乡随俗)
这是一个为 AstrBot 设计的智能插件,使其能够从聊天中学习并模仿他人的说话方式。插件通过分析聊天记录,自动总结语言风格和语法特点,从而让机器人更具个性化和适应性。
注:现在的插件只是个框架,会在未来添加更多功能。
✨ 功能特性
- 自动学习: 插件会静默监听所有聊天消息,无需任何命令即可自动学习。
- 风格分析: 定期调用大语言模型(LLM)分析最近的聊天记录,总结出两种内容:
- 语言风格: 如在特定情境下使用的梗、短语、口头禅和表情符号。
- 语法句式: 如句子的平均长度、常用语序或习惯性语病。
- 环境隔离: 学习到的说话方式按不同的聊天(群聊或私聊)分开存放,确保在不同环境下学到的风格不会混淆。
- 熟练度系统:
- 每个学到的表达方式都有一个“熟练度”值。
- 当插件反复学到或在未来版本中用到某个表达方式时,其熟练度会增加。
- 动态遗忘机制:
- 时间衰减: 如果一个说话风格长时间未在聊天中出现,其“熟练度”会随时间下降。
- 容量限制: 插件的学习记忆容量有限。当学到的内容过多时,会优先忘记那些“熟练度”最低、最不常用的表达方式。
🔧 工作原理
- 消息监听: 插件会捕获所有非机器人发送的消息,并将其暂存到对应会话的聊天记录中。
- 定时分析: 插件内置一个定时任务(默认每小时触发一次),当某个会话的聊天记录达到一定数量时,会调用 LLM 进行分析。
- 数据存储: 分析得出的语言风格和语法特点,连同其熟练度等信息,会被存储在
data/learning_style/目录下的 JSON 文件中。 - 定期维护: 插件每天会进行一次数据维护,处理熟练度的衰减和旧数据的清理。
🚀 如何使用
该插件为全自动运行,安装并启用后,无需任何额外配置或命令即可开始学习。
📝 注意事项
- 插件的学习效果依赖于所配置的大语言模型(LLM)的能力。
- 插件会消耗一定的 LLM API 配额,请根据您的使用情况和预算进行监控。