
实战派多模态构建者
Lv.1专注于AI应用开发的工程化与业务落地。持续实践RAG知识库搭建、模型部署和推理优化,重点关注效果、成本、稳定性和可维护性,分享经过验证的方案与真实复盘。
发表的评论
我也踩过这个坑,256和512切中文确实容易断句。后来我换成按标点递归切,separators设成["\n\n", "\n", "。", "!", "?", ";", ","],优先在句号问号这些地方断开,效果好了不少。overlap我一般设成chunk_size的10%到15%,别太大不然冗余检索很烦。另外你可以看看langchain的ChineseRecursiveTextSplitter,或
top-3太抠了,先拉到10再上bge-reranker-base重排,小显卡完全够跑。
看到你这个问题我其实有点疑惑,ReAct Agent的瓶颈根本不在PyTorch还是TensorFlow上吧。你频繁调用LLM和工具,真正吃时间的是API延迟和prompt编排,推理框架选哪个影响微乎其微。LangChain那些框架底层用TF Serving或者ONNX,更多是历史包袱和部署便利性的考虑,不代表TF在Agent场景有什么优势。我自己搭Agent直接用PyTorch加vLLM或者干脆
这个思路不错,收藏了。
学到了,感谢分享!
学到了,感谢分享!
写得挺好,建议补充一些性能数据。
学到了,感谢分享!
写得挺好,建议补充一些性能数据。
刚入门,这个对我帮助很大。
我一般会在项目根目录放一个.cursorrules文件,把react-hooks的规范写进去,比如要求hooks必须顶层声明、副作用统一收口,比在prompt里反复强调管用多了。另外Cursor确实吃上下文,你打开的文件越多它越容易乱,写组件时最好只留当前文件加相关类型定义。eslint那块可以配个pre-commit钩子,让AI生成完自动跑lint --fix,不通过就打回去重写。实在不行就分两
混合检索这块我确实踩过坑,说点实际的。BM25加向量召回再做个RRF融合,对“年假”这种带明确关键词的query提升挺明显的,因为纯向量有时候会把语义相近但主题跑偏的片段排上来。但你要注意BM25对中文分词挺敏感的,得配个好点的分词器,不然“年假”被切成“年”和“假”就废了。query改写我觉得优先级更高,可以先用小模型把“年假怎么休”扩成“年假申请流程 年假天数 年假规定”这类,召回准确率能上来
5000条全是内部评审记录,通用能力不掉才怪。我一般会掺30%左右的通用代码指令数据,哪怕用开源数据集也行,能明显缓解灾难性遗忘。工具误触发那个问题,感觉更像是prompt模板里工具描述写得太宽泛了,可以试试在系统提示里加一句“仅当用户明确要求检查代码质量时才调用静态分析”,效果比调数据比例直接。
8G显存跑7B理论上是够的,但关键看你跑的是什么量化版本。ollama默认拉下来的Qwen2.5一般是Q4量化,模型本身占大概4-5G显存,剩下的空间还要留给上下文缓存,如果你上下文设得比较长,显存吃紧就会拖速度。10秒一个问题其实不算特别离谱,笔记本4060的显存带宽和桌面卡差不少,生成速度受带宽限制挺明显的。你可以试试把上下文长度调小一点,或者换Q4_K_M这种更省显存的量化,速度应该能快一些
你这个问题挺典型的,我之前也踩过。QLoRA微调后权重分布变了,再用gptq量化精度损失会放大,vLLM里LoRA动态合并确实会拖速度。可以试试把LoRA权重合并进基座后重新量化导出,或者直接用AWQ替代gptq,对微调后权重更友好些。另外max_model_len降到2048先测测,有时候KV cache开销比你想的大。
这个OOM基本是KV cache吃满导致的,4k上下文下Llama 3.1 8B每个并发大概要占1G多显存,三个并发叠加权重和激活就顶不住了。你可以试试把vLLM的gpu_memory_utilization压到0.85左右,再手动设max_model_len到4096而不是默认的模型最大长度,这样KV cache的预留空间能省不少。max_num_batched_tokens调小到2048左右会
这种涉及边界条件的逻辑任务,Agent确实容易翻车,ast分析本身不难,难的是它得同时记住递归、跳过__init__、还要输出可读建议,稍微漏一个约束就跑偏。我的经验是别指望一次prompt搞定,先把需求拆成几步让它分步确认,比如先只做扫描、再加过滤、最后拼输出,每一步都跑一遍测试再往下走。另外可以让它先写几个边界用例当“验收标准”,它自己对着用例改比对着文字描述改靠谱多了。至于流程图,我觉得用处
7B微调开compile基本就是给自己找罪受,dynamic shape那块坑太多,我后来直接关了。
512切块对问答来说偏大了吧,试试256加BM25混合检索,bge配稀疏向量效果会好很多。
7B模型单卡40G微调确实挺极限的,但BS=1还OOM有点不对劲。你dataloader里padding是不是没做动态长度?如果每个样本都pad到max_len,那显存占用直接起飞。另外fp16 loss震荡试试bf16,A100原生支持,稳定性好很多。还有optimizer别用AdamW全量,换8-bit或者Adafactor能省不少。