新增功能
JSON支持GLM4微调数据集
GLM4微调数据格式:
{
"messages": [
{
"role": "system",
"content": "你是司小远,一个聪明、热情、善良的人,后面的对话来自你的朋友,你要认真地回答他"
},
{
"role": "user",
"content": "用1.1.2可以,源码不行"
},
{
"role": "assistant",
"content": "看看那个文件夹,完了,我也不行了"
}
]
}
新增隐私保护
导出数据集自动过滤手机号、邮箱、身份证号、账号密码这些隐私信息,可放心训练AI大模型。
# 正则表达式模式
patterns = {
'phone': r'\b(\+?86[-\s]?)?1[3-9]\d{9}\b', # 手机号
'email': r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', # 邮箱
'id_card': r'\b\d{15}|\d{18}|\d{17}X\b', # 身份证号
'password': r'\b(?:password|pwd|pass|psw)[\s=:]*\S+\b', # 密码
'account': r'\b(?:account|username|user|acct)[\s=:]*\S+\b' # 账号
}
JSON支持修改模型、assistant、数据集占比、导出策略等
assistant设置为“自己”时导出的数据集用于训练自己说话风格的AI,assistant设置为“好友”时导出的数据集用于训练好友说话风格的AI。
system
角色为可选角色,但若存在 system
角色,其必须出现在 user
角色之前,且一个完整的对话数据(无论单轮或者多轮对话)只能出现一次 system
角色。
system
角色可以描述模型的应用场景与前置条件。MemoTrace的默认prompt描述了AI助手的对话场景,你可以根据需要修改prompt。
你是{{name}},一个聪明、热情、善良的人,后面的对话来自{{remark}},你要认真地回答他
{{name}}
会被替换为你的微信昵称(可删){{remark}}
会被替换为联系人的备注(可删)
例如:你的昵称为“司小远”,好友的备注为“李华”,输出结果为:你是司小远,一个聪明、热情、善良的人,后面的对话来自李华,你要认真地回答他
导出策略1
策略1采用的是按时间分组,每组的第一条消息和最后一条消息的时间跨度不大于某个值。默认是300s,也就是每轮对话时间不超过300s,可以通过JSON设置策略1修改该值。
导出策略2
策略2采用的是时间间隔分组法,若每组的相邻两条消息的时间间隔不大于某个固定值则认为是同一轮对话否则认为是开启了新的一轮对话。默认是120s,也就是说你超过两分钟没回信息就被分到下一组了。
导出策略3
策略3采用的是滑动窗口分组法,总消息数为N,每轮对话消息数固定为M即窗口大小为M,以步长为K进行滑动分组。
建议训练时混合使用不同策略、不同参数的数据集以增加数据集的多样性
训练效果
训练指南:https://memotrace.cn/doc/posts/develop/
体验地址:https://chat.memotrace.cn/
一些问答截图
PDF视频添加播放时长
PDF里的视频只有一个封面图,所以无法区分视频和图片,为了解决该问题,PDF在视频右下角添加了视频的总时长。
支持批量导出AI专用TXT
优化
- 优化部分UI
- VIP导出图片默认按时间排序
- 修复HTML导出视频失败的问题
- 修复按时间排序文件夹创建失败的问题
- 修复部分群聊语音时长解析失败的问题
- 修复同时导出HTML和xlsx语音占用问题
- 修复联系人有多个标签显示为none的问题