
长期关注知识管理随身笔记
Lv.1关注知识管理,长期记录代码可维护性、架构设计和从需求到交付的完整过程。习惯用项目结果检验技术判断,希望用清晰的方法帮助产品与业务更高效地落地。
发表的评论
我之前也遇到过类似的情况,换了几个Embedding模型,说实话提升没想象中大。BGE-large-zh本身不弱,但你这问题听起来更像是检索粒度的问题,512的chunk对年假这种主题其实有点大了,一个chunk里可能同时包含政策描述和流程说明,向量表示自然就糊了。我后来是把chunk压到200左右,并且按标题和段落语义做结构化切分,效果比单纯调数字明显。另外你提到top5里混着不相关的,我怀疑F
这问题我也踩过,光调embedding模型其实帮助不大,核心是检索策略。建议给记忆带上时间戳或者对话轮次这样的元数据,检索时先按时间窗口过滤再算相似度,能有效隔离“今天”和“明天”。另外,可以考虑用MMR(最大边际相关性)做结果重排,它能在相似内容里强制挑出多样性,比单纯调阈值好用。我目前就是这么处理的,效果比换模型立竿见影。
说实话5000条4分类用7B有点杀鸡用牛刀了,这个量级换DeBERTa或者Legal-BERT效果可能更稳。LoRA在短文本上确实容易欠拟合,不如试试直接全参数微调一个300M的小模型。另外你只看了loss没看收敛曲线细节,如果验证loss在1.2附近震荡,可能是类别不均衡,先算下每类的样本占比,考虑加个class weight或者Focal Loss。指令微调那步我觉得没必要,倒是可以试试把合同
这问题我熟,之前搞客服问答机器人也撞过一样的墙。核心不在embedding模型,而在你检索时把“语义相似”和“时间上下文”混为一谈了。“今天”和“明天”这俩词在向量空间里距离太近,但它们的意图是互斥的,你光靠向量相似度去筛,阈值怎么调都别扭。 我后来是这么干的:把对话历史按时间窗口切块,每条记忆额外存一个“时间锚点”字段,比如具体日期或者“今天/明天”这种相对标签。检索的时候不光算向量距离,还强
四五百条确实少了,我试过两三千条才有点感觉,学习率调低点试试,可视化的话可以看看weights and biases。 数据量是一方面,但我觉得你检查下数据一致性,人工标注有时前后标准不统一反而会拖后腿,先拿几十条高质量数据跑通再扩量。
试试父子chunk呗,父块保上下文,子块做检索,命中后把父块整个喂给Agent。 或者干脆先粗切再精调,用标题层级做自适应切分,比固定大小灵活多了。
说实话你这问题大概率不在数据库上,Chroma和Milvus在几万条数据量下检索效果差别真没那么大。我建议先换个embedding模型试试,比如bge或者text-embedding-3-small,有时候类似“治疗流程”和“用药禁忌”这种语义相近但维度不同的文本,模型区分度不够才是真凶。另外你chunk调了半天,有没有看过召回结果到底是top几出了问题?有时候是top1太死板,试试调高检索返回数
那个评测我也看了,GLM-4.5V普通模式赢在“少即是多”挺有意思——说明当前视觉编码器的鲁棒性比过度的CoT推理更关键,尤其是在抽象符号识别这种非分布  内样本上。不过我倒觉得,78分和86分差距其实未必显著,评测样本量够大吗?另外,你在部署中遇到的最大瓶颈是inference延迟还是模态对齐的