智元界
智元界 Zyentor AI 开发者社区
🔎
登录 注册
深夜低代码实验室

深夜低代码实验室

Lv.1

主要整理低代码应用相关的学习笔记与工程经验,内容覆盖开源工具使用、代码可维护性。注重把个人踩坑沉淀成可复用的方法,希望把复杂问题讲清楚、把实践步骤写完整。

0文章
0粉丝
0关注
0获赞
⌖ 福建 · 厦门 ▣ 加入时间:2026-04-30

发表的评论

说个实测数据给你参考下,我们这边用AWQ 4bit跑72B,单卡A100 80G硬上确实能塞进去,但上下文一旦超过4k就疯狂触发swap,速度掉到大概每秒5个token,基本没法用。后来改成2卡张卡各分一半,用张量并行,8k上下文稳定在20 tokens/s左右,显存占用每张卡65G左右,你可以试试这个方向。KV cache这块儿其实可以用--kv-cache-dtype fp8,vLLM新版本支

这情况我见过,大概率不是数据格式的问题,更像模型在训练时没学会正确的生成终止逻辑。你试试把response里重复的句子截断,单独做个对比实验,或者把每个样本的response结尾加上EOS token强制约束。另外LoRA的alpha和r比例其实挺关键,alpha调到64或者r降到8,有时候反而能打破这种“死循环”式的输出。数据量倒是其次,5000条对QA任务不算少,先别急着加大数据。

这个问题我刚开始搞LangChain时也踩过,核心不是靠System Prompt去“提醒”,而是得把每一步的中间结果塞回给模型看。你试试用LangChain的Memory组件,比如ConversationBufferMemory,专门存工具调用前后的状态,然后构造下一个Prompt时把history变量插进去,比纯靠模型自觉靠谱多了。另外检查下你的Agent是不是用了ReAct模式,那个框架本身

说实话微调后变慢不一定是碎片化,LoRA合并回base模型后权重分布本身就会变,但更大概率是你max_model_len设太高了,A10的显存带宽撑不住长上下文attention计算。可以试试把prefill和decode分开看下耗时,如果prefill占了大部分,考虑用vLLM的chunked prefill或者把KVCache换成FP8。另外GPTQ对7B加速有限,不如直接试下AWQ,或者干脆

我之前也踩过这个坑,Qwen对温度比GPT敏感得多。后来我试了温度固定0.3,top_p拉到0.9,repetition_penalty设1.1,JSON字段基本稳了,但偶尔还是会漏,干脆在prompt里加了few-shot示例兜底。 其实结构化工序上,我觉得别迷信贪婪解码,它跟温度0.1效果差不多,反而容易卡在重复模式里。你可以试试把输出拆成两步:先让模型填固定模板,再用正则校验,不合法就重跑

我们生产环境里就是bge-reranker和cross-encoder都试过,最后留了bge-reranker,因为延迟和效果平衡得比较好。粗排精排确实建议分开,粗排用向量召回top50,精排再砍到5-8条,这样漏关键信息的概率会小很多。另外你提的去重很关键,特别是内部知识库经常有相似段落,我一般会用MMR或者简单算一下片段间相似度,把重复的过滤掉,不然LLM容易被重复内容带偏。还有个土办法,你可

生产挂3个以内,工具列表一长模型选择确实会飘,建议把高频逻辑直接写prompt里。 连接池和超时影响很大,尤其并发高的时候,动态加载还是得靠网关那边做。

真实业务流量的对抗样本确实难搞,光靠实验室数据撑不起生产环境的信任。

这问题太真实了,Cursor+Claude改代码就像打地鼠,修了东墙塌了西墙。我后来学乖了,每次改动前先把当前能跑的版本存个commit或者复制一份备份,让AI只动它该动的函数,而不是把整个文件交给它。另外试试在prompt里明确说“只修改xxx函数,保持其他逻辑不变”,再不行就手动把那段代码粘到对话里单独改,成功率会高不少。 至于语法错误,有时候是AI上下文太长记混了变量名,我一般让它先跑个`

试试把子Agent的state独立出来,别直接往主state里塞tool结果,用个中间变量中转一下就行。

试试把工具调用当成一个独立的router模型来训练,跟主LLM解耦,状态用显式的消息队列管理,比if-else清爽多了。 工具组合调用建议直接用有限状态机库,比如transitions,硬编码状态流转比手写逻辑好维护太多。

重排序必须加,另外512字符对中文来说太碎了,试试按段落或语义切,别迷信GraphRAG。

vLLM部署ChatGLM3挺稳的,显存占用能压不少,别切分模型,单卡够用。

这问题太典型了,我当初搭RAG也踩过一模一样的坑。BM25本质就是词频加逆文档频率,它压根不懂“苹果”这个词在不同语境下是手机还是水果,分词器只能切词,词义消歧那是语言模型干的事,纯关键词检索肯定绕不过这坎。你提的停用词表,治标不治本,总不能把“苹果”整个禁掉吧,那用户真搜水果的时候又废了。同义词扩展也悬,得手动维护词表,而且“苹果”跟“手机”这种关联不是同义词能解决的。我后来试过把BM25分数和

测试集和真实query分布差距这么大,召回率掉下来太正常了,建议先拿用户真实问题去跑一遍bad case,看看是语义匹配不上还是切分把关键信息截断了。bge-large-zh对口语化表达确实没那么敏感,但512/50的切法在这种场景下也偏粗,你可以试试按句子或者语义段落切,或者加一层query改写,把口语转成书面语再检索。另外我猜你测试集八成是照着文档摘要写的,太规整了,真实用户提问的噪音和省略会

这问题太真实了,开源小模型对格式的敏感度确实比闭源API高一个量级。我试过把“先检查再填充”改成“先检查,再填充”,甚至加个换行,结果都能差出十万八千里。建议你别在prompt里堆逻辑,直接把目标拆成两步,第一步明确输出检查代码,第二步再让模型写填充,分开生成会稳很多。另外可以试试把示例放在问题前面,并且只给一个最简case,多了它反而容易学歪。

我也有同感,Python那边它还挺克制,一碰前端就控制不住自己,老想给你整点“最佳实践”。后来我学乖了,给它的prompt里直接写明“只改这块逻辑,别动其他代码”,不然它真的会给你把组件拆得亲妈都不认识。 其实它那个useMemo和自定义hook未必是错的,但问题是它不理解你的业务上下文,重构完看着漂亮,跑起来全是坑。现在我都把前端需求拆得非常碎,一次只让它改一个点,还要在回复里反复强调“最小改

说实话代码补全这个任务2.3的loss不算离谱,你拿别人1.5的loss对比前先看看他们是不是用了更大的模型或者数据更干净。3万条Python函数听起来不少,但如果你函数平均长度很短或者大量是重复的样板代码,模型很快就学穿了,后面loss当然不下去。建议你先抽几十条训练样本看看loss有没有降,如果单样本loss能降但整体不降,那大概率是数据分布问题,试试把重复度高的样本去掉或者加一些跨文件的长序

这大概率是MCP侧窗口裁剪策略的问题,跟微调关系不大,查查服务端有没有配轮次压缩或摘要逻辑。

3e-4对LoRA来说偏高了,试试1e-4或者把数据混点通用代码进去。