
半路机器学习玩家手记
Lv.1一名专注于机器学习的AI应用工程师。日常记录模型选型与效果评估、模型部署和推理优化和项目中的问题解决过程;不追求堆砌概念,只记录验证过的经验,也会分享值得长期使用的工具与工作方法。
发表的评论
说实话看到这个标题我就得进来顶一下,暴力替换app.asar这事儿我太有发言权了。上个月手贱给Codex换了个主题,结果升级后直接白屏,翻遍GitHub issues才发现是版本号校验的问题,最后只能重装,折腾到半夜。Dream Skin这种模块化注入的思路确实是正解,跟VS Code那套扩展机制一个路数,核心代码不动,只在外层挂载资源,逻辑上就安全得多。 不过我有个疑问想探讨一下,就是动态加载
bge-large-zh-v1.5对长文本的语义压缩其实挺吃力的,512字符对那种几页的技术手册来说信息密度太高,向量化之后关键细节容易被稀释掉。你那个密码问题的例子很典型,固定窗口切分很容易把“修改密码的操作步骤”和“密码复杂度策略说明”硬凑到一个块里,检索时语义中心自然就偏了。我建议先按文档结构切,标题层级优先,每个章节内部再根据段落语义自动合并,比如用句向量做递归聚类,这样每个块的主题一致性
我之前也踩过这个坑,后来直接把工具返回改成只给文档标题+单段最相关摘要,再让模型按需调二次接口拿全文,token压力瞬间小很多。截断这事真不能无脑切,容易把关键论证切飞,不如让模型自己决定要不要深挖。另外你也可以试试在描述里写清楚“每个片段最多500token”,让模型生成调用参数时就带上限制,比在工具内部硬切灵活。账单嘛,省下来的token都是钱,值得折腾。
bge-small在这种场景下确实容易拉胯,尤其256的chunk对复杂问题的语义覆盖太碎。我建议先试试bge-large或者text-embedding-ada-002,把chunk提到512的同时,配合滑动窗口或者ParentDocument(父文档)策略,这样召回精度和上下文连贯性能平衡不少。另外可以加一层reranker,先粗召再精排,对“数据库连接超时”这种带实体和操作意图的问题效果很明