3.2 KiB
3.2 KiB
代码备忘
- 检查EmojiManager的replace_an_emoji_by_llm传入的emoji是否真的是没有注册到db的
- According to a comment, MaiMBot's check_types() accesses format_info.accept_format without None check
- 如果需要更多的消息格式支持,更新列表如下:
src/common/utils/utils_message.py中的_parse_maim_message_segment_to_component函数src/common/data_models/message_component_model.py中:- 增加新的消息组件
- 看情况修改
StandardMessageComponents的内容 MessageSequence的_dict_2_item和_item_2_dict函数
- 取消了从chat_manager获取ChatSession时候的deepcopy,看看会不会有问题
迁移脚本备忘
- 迁移env到新版的bot_config管理
- 对于旧的消息,需要重新计算其Hash(md5 -> sha256),做好映射防止消息丢失
- PersonInfo的group_nickname名字改为group_cardname,做好映射防止数据丢失,同时存储的方式从
[{"group_id": str, "group_nick_name": str}]->[{"group_id": str, "group_cardname": str}] - Expression中的
up_content被移除了 - Jargon现在chat_id(session_id_list,格式为
[["session_id", session_count]]) -> session_id_dict({"session_id": session_count}),做好映射防止数据丢失
插件开发备忘
- 求各位插件开发不要在Dict里面塞一堆乱七八糟的东西,免得数据库存储的时候一团糟
Hack备忘
- 对于不符合内容审查要求的表情包,无法注册到数据库内,因此面对相同的非法表情包时,会导致反复识别。有成功注册的可能。
- 考虑到数据库记录表情包不合规判定有大模型误判的风险,因此保留现有的无法注册的情况,在再次遇到的时候重新识别。
- 目前在匿名化build message的时候,如果一个被回复的消息包含了一个转发消息组件,那么这个转发消息组件中的用户信息是不会被匿名化的,后续需要修复这个问题。(有时候感觉用正则是对的)
- 可以考虑将消息保存的时候就将消息中的用户信息匿名化,这样在后续的处理过程中就不需要担心匿名化的问题了,同时也可以避免在build message的时候进行复杂的递归处理,同时还要保存匿名映射表。
计算备忘
- emoji的emotion比较是基于编辑距离的,考虑更换为基于语义的比较(比如使用emoji的embedding进行比较),以提高准确性和鲁棒性
- expression的相似度比较是基于LCS的(Ratcliff-Obershelp算法),考虑更换为基于语义的比较(比如使用embedding进行比较),以提高准确性和鲁棒性
- 为了保持代码的简洁性,HFC无论任何情况都将初始化ExpressionReflector,ExpressionLearner,JargonMiner实例,无论配置文件中是否在此聊天流启用了他们。
- 可优化方向:将其置为Optional,在不启用的情况下不进行初始化
- 当配置文件重载时,重新分析所有启用判定,所有HFC进行并行检查,将启用的进行实例化。不启用的实例化移除引用,释放内存。