Skip to content
This repository was archived by the owner on May 26, 2025. It is now read-only.

添加LLM聊天总结插件 plugins/ai_summarize.py#47

Open
Bol-C14 wants to merge 12 commits intoavilliai:mainfrom
Bol-C14:main
Open

添加LLM聊天总结插件 plugins/ai_summarize.py#47
Bol-C14 wants to merge 12 commits intoavilliai:mainfrom
Bol-C14:main

Conversation

@Bol-C14
Copy link

@Bol-C14 Bol-C14 commented Sep 15, 2024

新插件特性

  • 私聊总结: 加机器人好友后,私聊机器人 "生成总结#群号",例如:"生成总结#1234567890" 即可生成对应群聊总结。
  • 生成冷却: 每次生成都有固定冷却时间以免造成API滥用,默认为15分钟,暂时无法在config内调整,需要对 COOLDOWN_PERIOD 进行设置来调整冷却时长。
  • 公开群聊总结(限制): 在群聊内发送”生成总结” 后,机器人将会在该群内发布群聊总结。尚未决定合适的生成机制以避免大量生成总结污染群聊,暂时仅在mainGroup主群聊内master可用。
  • 总结长度限制: 抽取最近的聊天消息,当前默认为 max_words = 2000 (字符),max_messages = 1000 (条),暂未开放config修改,可在插件内手动调整。
  • 动态数据表:基于sqlite的可扩展的群聊记录数据库,每个群id单独储存数据表。暂时没有清理功能,后期可能考虑添加。

其他修改

  • 修改aiReplyCore.py,添加了一个直接调用LLM而不包含预制prompt的函数,direct_sending_to_model 。本质上是 modelReply 的复制并且去掉了prompt,已进行重构和解耦合,但为了保证其他插件的正常运行并未删除任何原有代码,之后会进行去重复。
  • 修改NoResponse.yaml,屏蔽生成总结相关的词汇防止机器人调用LLM回复。

未来计划

  • 决定公开群聊总结的规则并允许在插件对应config调整
  • 加入插件对应config调整参数的功能
  • 加入插件对应config调整回复规则和权限的功能
  • 加入临时聊天获取总结的功能,并允许设置对应权限
  • 优化总结请求prompt
  • 重构 aiReply.py, aiReplyCore.py, ai_summarize.py 以减少代码重复,提高可扩展性;针对API调用和AI聊天回复部分进行解耦合
  • 自动检测敏感内容并且拒绝总结以防止被封禁

@avilliai
Copy link
Owner

avilliai commented Sep 24, 2024

提供一个思路:
聊天记录量过大会影响总结效果,同时,鉴于群内日常对话并不总是聚焦于同一主题,而往往是同一时段会有许多人聊不同的事件,llm总结的准确性也有待商榷。
但可以与词云功能结合,生成词云图的同时,让ai对生成词云的数据进行总结,llm要处理的数据量也没有那么大,更能凸现 总结 的特点。

目前代码已经比较完善,可以等我国庆整理后合并。

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants