
猫爱看日志日记
Lv.1日常收集工具、经验和可复用的方法。关注技术学习与项目实践,主要分享学习路径整理、项目实践记录和日常踩坑;更关注能够真正落地的方法。记录不一定完美,但力求真实、清楚、可验证。
发表的评论
我最近也在折腾类似的东西,说实话Agent 2.0在纯代码任务上确实比GPT Agent稳不少,特别是那个self-debug循环,我拿它跑一个爬虫脚本,中间字段解析报错它自己改了两次就通了,换以前得手动喂好几轮提示。但你提到混合技术栈那个点我也有同感,我试过让它同时处理Django后端和Vue前端的状态同步,它就开始有点飘了,上下文里两边的变量名会串。那个27%的提升我猜测试集里开发类任务占比不
说实话7B量化跑代码确实容易这样,尤其逻辑一复杂就崩,不是prompt的问题,模型容量摆在那。我试过把任务拆成纯函数让模型单写,再自己拼主流程,成功率能高不少。另外你试试加“代码必须包含import xlrd”这种强制约束,比描述需求管用。想省心还是得靠API或者大点的模型,本地图个隐私还行。
几万条笔记这个量级真不用纠结生产不生产的,Chroma单机跑得飞起,MCP场景下它那点并发瓶颈根本碰不到。我倒是试过Qdrant,docker起个实例倒是不难,但多一个服务就多一层网络开销,查询延迟反而比嵌入式Chroma高了个几毫秒,体感不明显。你如果担心后续迁移,建议代码里把向量库操作封装成独立模块,别直接在MCP server里裸写client,这样将来换Milvus或者pgvector也就
说实话我之前在内部试过torch.compile配vLLM,T4上动态batch确实容易炸显存,后来干脆把compile只用在offline的预填充阶段,decode走vLLM原生的CUDA graph,这样冲突少很多。你提到的首次编译十几秒,如果服务能接受滚动发布,可以先在后台跑一次warmup再切流量,但确实没有特别优雅的解法。至于ONNX和TensorRT,小模型可能收益明显,但LLM这种动
我之前也踩过这个坑,后来直接把RAG封装成单一工具了,检索和生成放一起,虽然灵活性差点但上下文干净很多。你那种多工具场景,prompt约束确实不太靠谱,模型执行顺序根本不可控。MCP的上下文管理确实有局限,它只管工具调用本身,不负责优化你的token分配,所以大chunk进来基本靠硬扛。我现在的做法是检索后先让模型自己总结一遍再继续,相当于把上下文压缩了,你可以试试。
试试把chunk重叠设大点,或者按章节切分,我之前这么搞召回干净多了。
我之前也遇到过这问题,光是system prompt压不住,后来把检索片段直接塞进user prompt里用分隔符框起来,再明确说“只准引用框内内容,没写就答不知道”,效果好了很多。temperature=0确实有用,但别指望它解决所有事,模型该编还是编。Few-shot我试过,放一两个对比示例(一个引用了、一个拒答了)比单纯说教管用,但别放太多,不然容易把格式带偏。你要是还不行,试试把promp
说实话你这情况我太熟了,我之前用AI写爬虫也卡在反爬这块。代理池和Selenium都不是银弹,403多半是IP频率问题,先试试免费代理池顶一阵子,但别指望长久,Selenium更费资源而且容易被检测。重构的话我建议你让AI按模块拆分,比如请求头管理、IP轮换、解析逻辑各放一个函数,别让它一口气写一大坨,改起来也没那么慌。另外你试过用curl_cffi或者playwright的stealth模式吗?
16G跑8B 4bit按理说应该能塞下啊,你是不是把context拉满了?我4060Ti跑Qwen2.5 7B Q4_K_M,8K上下文大概占用11-12G,你那个4096反而爆了,八成是kv cache没关掉或者用了F16的embedding,试试--ctx-size 4096 --no-mmap,再把--threads调低点,说不定能救回来。 至于估算公式,其实没那么玄乎,权重占显存 = 参
说实话你这个量级和场景,我觉得别在Milvus和Qdrant之间纠结太久,先想清楚自己是不是真的需要“数据库”而不是“索引”。10万条文本切片单机部署,faiss顶不住大概率是没做索引优化或者过滤条件太重,其实换个HNSW参数加个内存映射能撑很久。 Qdrant的Rust实现确实轻,部署就一个二进制,API也干净,小团队上手成本低很多。但它的分布式能力要到集群版才完整,你目前单机没问题,万一后面
试试给工具加个“使用门槛”,比如描述里写清楚什么场景才能调,让模型先判断再动手。 我这边是把检索工具拆细了,限制每次只能调一个,跑偏概率明显低了。
这问题我太有同感了,上个月刚在agent项目里被这俩框架轮流折磨过。你说的动态shape行为差异,本质上是TF的graph模式把每次输入变化都当成新子图来优化,而PyTorch的torch.compile是运行时基于实际shape做专门化编译,所以TF在频繁变shape时反复re-trace的代价确实更痛。不过你确定没用tf.function的input_signature限定shape范围?如果
base64确实够呛,我们项目直接走文件路径引用,tool参数里加个url字段就完事了。
试试把第一轮的检索结果存下来,第二轮强制引用原始片段做一致性校验,比调参稳多了。
500条数据说实话有点太少了,而且客服对话本身噪音就大,标注稍微不一致模型很容易学飞,loss降得顺不代表真学到东西。你试试把训练集里重复或相似的query筛一下,再看几个badcase是不是都集中在某类意图上。另外MCP微调不用刻意冻结层,但建议把学习率再调低一个量级,或者加个warmup,我遇到过类似情况是数据里长尾问题太多导致的。
我之前也卡在这个地方好久,后来发现是Claude Desktop对本地回环地址的权限卡得比较死,试试把localhost换成127.0.0.1,或者直接在配置里加个环境变量允许非TLS连接。另外建议先用curl手动调一下你的MCP端点,确认SSE握手响应头真的对了,很多教程都忽略了`Content-Type`要精确匹配,差一个分号都会Transport closed。 还有个小坑,如果你用的是s
说实话这现象太正常了,7B模型跟在线API背后那些大几百B的模型比指令遵循能力,本质就是降维打击。量化确实有影响,但Q4_K_M不是主因,换成Q8差距也没那么大,核心还是模型容量决定了它对复杂指令的解析上限。你试试把任务拆成两步走:第一步只让它列大纲,第二步再让它扩写,每一步都限定输出格式,比一次性给完整prompt要稳得多。另外系统提示词里别光强调角色,直接给负面约束,比如“禁止使用‘首先’‘其
结构化模板确实有用,但别指望它一劳永逸。我自己写日志分析prompt时,会强制要求“先输出提取到的字段列表,再给结论”,这样能逼模型先做事实核对,编造概率低很多。另外你试试在约束里加一句“若日志中无对应信息,明确写未知”,比单纯调温度管用。 我觉得“角色+任务+输出格式”还不够,关键是加一个“验证步骤”。比如让GPT先解释它为什么这么判断,再让它对照原文检查一遍,相当于多一道自我纠错。对日志场景
loss降到0.2但acc卡在65%,这典型的过拟合+类别不平衡信号。你试试用验证集loss做早停,别光盯着训练loss,我上次也是这种状况,结果发现是LoRA的rank设太高,模型把训练集噪声都背下来了。另外样本量每类才200,可以试试把10分类拆成多个二分类任务,或者用Focal Loss压一下易分样本的权重,说不定能拉几个点。
八成是stdio传输模式没配对,Claude Desktop只认本地绝对路径,node版本也得20以上。先手动跑一遍server看能不能起来,再查json里command参数写没写对。