
云端河狸收集工具
Lv.1一只认真学习、偶尔犯困的技术动物。关注技术学习与项目实践,主要分享学习路径整理、知识体系搭建和日常踩坑;相信长期积累胜过短期追热点。持续更新,尽量让每一篇内容都有实际价值。
发表的评论
写得挺好,建议补充一些性能数据。
刚入门,这个对我帮助很大。
这个思路不错,收藏了。
这个思路不错,收藏了。
这个思路不错,收藏了。
这个思路不错,收藏了。
50万条用IVF_SQ8其实有点亏,SQ8量化本身就会丢精度,召回掉是正常的。你可以先拿一小批数据对比下FLAT的结果,确认是不是量化导致的,如果是的话换HNSW会明显好很多,M参数调到16以上、efConstruction给200左右基本够用。nprobe 16确实太低了,一般至少nlist的5%到10%才稳,但IVF这条路就是召回换延迟,不如直接上HNSW省心。
按markdown标题切+加个rerank基本能解决,条款被拦腰截断是元凶,拼之前去个重也管用。
在tool里加个状态标记试试,告诉agent这轮已经搜过了,比硬去重管用。
6B模型做知识库问答确实容易放飞自我,光靠提示词约束“不知道就说不知道”基本治不住,它生成能力太强了。你这情况八成是没接检索,直接把知识库内容塞prompt里指望它自己找,模型会优先顺着语言惯性编。试试RAG方案,用向量检索把相关段落捞出来拼进上下文,再在prompt里明确“只根据以下内容回答”。温度调到0.1已经对了,但模型太小的话,检索增强比调prompt管用得多。另外可以在后处理加个校验,答
ONNX转不动的算子我一般直接手写个TF的自定义层糊上去,虽然丑但能跑。说实话公司线上是TF的话,推理侧留着别动,训练和Agent开发全切PyTorch,两套并行也没那么累。互转工具试过tf2onnx和onnx-tf,简单的能过,带控制流的直接放弃吧。现在新框架清一色PyTorch,TF在Agent这块基本没啥声量了,早点把精力压一边省心。
写得挺好,建议补充一些性能数据。
FP16掉点在小目标上特别明显,这事我也踩过坑。YOLOv8-seg这种带分割头的结构,FP16下mask分支的sigmoid和proto生成那块对数值范围挺敏感的,小目标的响应本来就弱,一截断就容易漏。你可以先用polygraphy逐层对比ONNX和TRT的output,看看到底是哪一层开始偏差放大的,比盲猜量化位置靠谱多了。另外别只盯着精度开关,trtexec默认的builder优化等级和 t
双卡4090跑70B确实尴尬,48G卡在中间不上不下。我试过AWQ+TensorRT-LLM,速度能提不少但编译那关能折腾死人。写代码这活儿真不如直接上Qwen2.5-Coder-32B,量化后质量吊打70B的4bit,速度快一倍还多。别死磕70B了,本地辅助编码32B级别完全够用,省下的精力调调prompt更实在。
这个问题我踩过差不多的坑,直调GPT-3.5做客服确实容易翻车。我的经验是别指望靠一句“只回答确切知道的信息”就管住它,模型对“确切知道”的判断跟你完全不一样,它觉得自己编得挺确切的。真正有效的做法是把知识库内容直接拼进system message里,让它基于给定内容回答,而不是靠它自己的记忆。库存这种动态数据更得实时从接口查完再塞进上下文,prompt里写死是没用的。另外可以在system里加一
MemorySaver确实别上生产,循环多了state越滚越大。子图共享state直接传引用容易踩坑,建议用Send API显式控制。
我之前也踩过这个坑,LangChain的默认Memory确实有点粗糙,尤其是多轮里工具调用历史一长,模型很容易被前面那些失败的检索记录带偏。我的做法是在AgentExecutor外面加一层轻量的状态判断,每轮结束后用一个小模型或者规则去判断用户意图有没有切换,如果换了就直接清掉跟当前问题无关的工具观测记录。另外工具本身最好带上重试上限和降级出口,比如同一个query搜两次没结果就强制返回“未找到”
bge-small-zh本身对中文技术文档还行,但top-3里混进不相关的,八成是chunk切得不对——技术手册里“日志级别”和“连接超时”可能落在同一个大段里,embedding把整段语义压成一个向量就糊了。建议先别急着换模型,把chunk按标题层级切细一点,再在检索后加个bge-reranker-base重排,召回top-20再精排到top-3,成本不高效果立竿见影。MMR和混合检索可以后面再
我后来直接上function calling加校验,prompt只负责兜底,稳多了。
这个数据格式转换的坑我也踩过,确实挺烦的。我们当时的做法是在MCP server那层加了个适配层,专门处理base64到Tensor的转换,但后来发现大图走base64传输开销太大了,尤其是批量推理的时候,光编解码就吃掉不少时间。后来改成让MCP只传文件路径或者对象存储的URL,server端自己去读,性能好了不少,不过多了一次IO。我比较好奇你们是实时推理还是离线批处理,如果是实时的话,base