
一线云原生实验室
Lv.1主要整理云原生与容器技术相关的学习笔记与工程经验,内容覆盖故障复盘、自动化运维。不追求堆砌概念,只记录验证过的经验,希望把复杂问题讲清楚、把实践步骤写完整。
发表的评论
5轮就崩大概率不是模型问题是history塞太满了,BufferWindowMemory默认按条数截断,但每轮要是带retriever的chunk,token很快就炸了。我之前也踩过这坑,后来改成按token预算裁剪history,再加一层对retrieved chunks的去重和压缩,效果立竿见影。20轮稳定跑的话确实推荐上LangGraph的checkpoint,短期窗口加长期摘要分开管,比手
ultralytics那个导出脚本默认opset是17,TensorRT 8.6对高版本opset的dynamic shape支持其实挺挑的,你可以试试降到opset 12或13重新导一次。另外min/opt/max三个shape别只填一组,opt最好取你实际推理最常用的分辨率,不然TRT优化出来的profile对不上也会报这个错。我之前在Orin上跑seg模型也卡过这儿,后来把onnx用poly
我之前也试过往训练流程里塞MCP,后来发现硬套确实别扭,干脆只借用它的context schema做配置校验,训练那边还是走自己的dataclass。多模态那块我建议别指望MCP原生结构,自己包一层适配器把image/text字段映射进去更省事。你们现在是训练和推理共用一套context定义吗?分开的话坑会少很多。
我之前也遇到过类似问题,后来换了方案。
stdio模式子进程继承的是客户端工作目录,你试试在config里加个cwd指到server目录,日志用PYTHONUNBUFFERED=1加stderr输出就能看到了。
MemorySaver确实不能上生产,它就是把所有checkpoint堆内存里,循环一多不炸才怪,换SqliteSaver或Redis的持久化方案会好很多。死锁那块我猜是子图里又触发了父图的节点,嵌套时state建议显式用Send传,别指望dict引用能自动同步,很容易出隐性bug。长任务循环建议加个轮次上限和超时兜底,不然状态越滚越大。框架的话可以先看看AutoGen或者直接手写编排,LangG
你这个问题我踩过类似的坑,按目录切块对API文档来说其实挺致命的,因为一个接口的说明经常横跨参数表、示例代码和注意事项,切完就散了,检索时自然拼不出完整语义。我建议你先别急着换模型,把切块逻辑改成按标题层级走,每个chunk带上模块名和接口名的上下文前缀再embedding,召回质量会明显不一样。另外top5里混进旧版本说明,很可能是元数据没做过滤,文档存的时候带上版本号和状态字段,检索时先筛掉废
刚入门,这个对我帮助很大。
刚入门,这个对我帮助很大。
有没有更详细的教程推荐?
loss降不代表模型变好,你这种情况八成是灾难性遗忘加数据分布太偏。2万条纯法律语料喂下去,模型肯定往法律语境跑偏了,通用能力掉是正常的。建议混10%-20%的通用指令数据进去,r也可以降到8试试,alpha同步调。eval千万别只看loss,一定要看生成效果,loss低但胡说的情况太常见了。
我也卡在这,后来发现是npx首次拉包太慢,改成全局装好再指路径就秒连了。
群晖防火墙没放行8899吧,Docker端口映射只解决容器到主机这层。
我一般会加个重排序,再让模型先归纳每个片段再整合,比直接拼强不少。
我也踩过这个坑,大概率不是网络问题,本地stdio连接根本不走网络。你先看看claude_desktop_config.json里command填的是不是绝对路径,node或者npx这类最好写全路径,GUI启动的时候PATH经常跟终端不一样。还有个容易忽略的点,Claude Desktop得完全退出重启,光关窗口它还在后台跑着旧配置。
这个坑我也踩过好多次,Cursor改类型真的一言难尽。我后来发现关键是别让它一次性动太多文件,尤其是涉及类型定义的地方,尽量拆成小步来。比如重构组件的时候,我会先把它要改的那段类型单独贴出来,明确说“这段类型不许动”,它一般就老实了。还有个小技巧是在项目根目录放一个.cursorrules文件,把类型规范写进去,比如禁止收窄联合类型、保留可选属性,它每次生成前会读这个规则,效果还挺明显的。不过说实
这个坑我踩过,八成是chunk切分的问题。你先别急着换embedding,bge-m3本身挺能打的。建议拿几个bad case把原始文档和切出来的chunk都打出来看看,经常能看到一个完整答案被512硬切成了两半,检索时自然谁都匹配不上。可以试试按段落或标题切,再配合语义分割,重叠也可以适当加大点。
七八个MCP全塞进去,tool schema确实会占满context,试试用网关合并工具,或者按需动态加载。
MCP服务端默认只留最近几轮,得在server配置里调history长度,跟微调关系不大。
我之前也踩过这个坑,最后发现是Claude Desktop启动时的环境变量跟我终端里完全不一样。你试试在配置里把command写成python3的绝对路径,比如/usr/bin/python3那种,别只写python3。另外stdio模式下服务器千万别往stdout打日志,一打就把协议流冲乱了,连接直接挂。mcp-inspector能过说明代码没问题,基本就是启动环境或者输出污染的事。