#AI 开发
共 48 篇文章
训练越跑越占显存,running_loss += loss 会留下什么
区分日志累加、待反传损失与 retain_graph;用数值保存训练日志,并按相同步骤观察已分配显存,避免把缓存或优化器状态误判为泄漏。
FAISS 的 IndexFlatIP 为什么会返回大于 1 的分数
IndexFlatIP 返回内积。需要余弦相似度时,库向量与查询向量都要归一化,检查 float32、零向量及原地修改行为,区分 L2 与近似索引。
safetensors 报 HeaderTooLarge,下载到的可能只是 LFS 指针
HeaderTooLarge 不等于权重模型太大。检查实际文件前缀、大小与哈希,识别 Git LFS 指针和错误页,再按原格式补全文件。
Windows 的 DataLoader 一加 num_workers 就报 bootstrapping phase
num_workers=0 正常、开启多进程后失败时,检查 spawn 导入入口、main 保护及顶层 Dataset 定义;不要只压掉 worker 异常。
MCP 关闭连接时,Shutting 日志触发 JSON 解析错误
stdio 工具的退出日志进入 stdout,会被当成 MCP 消息解析。区分服务器日志与宿主输出,核对 SDK 1.29.0 的关闭路径、正确等待连接和错误处理。
LangGraph 加上 checkpointer 后,invoke 为什么要求 thread_id
LangGraph 本地图启用 checkpointer 后,需要在 configurable 中传 thread_id。核对会话复用、reducer、内存保存范围和跨请求配置传递。
模型已搬到 GPU,PyTorch 仍报 CPU 和 CUDA 设备不一致
模型和输入已搬到 GPU,某些隐藏层仍留在 CPU。检查实际报错运算、子模块注册、to 的返回值及临时张量,避免优化器遗漏参数。
PromptTemplate 示例 JSON 被当成缺失变量
PromptTemplate 把 JSON 花括号当成占位符时,区分字面模板与变量值;核对双花括号、partial_variables 和重复模板化。
Ollama 流式响应让 response.json() 报 Extra data
Ollama 原生聊天默认返回 NDJSON。需要完整结果时设置 stream=false;保留流时逐行解析,检查错误对象及 done,区别 Requests 的 stream 参数。
Hugging Face 模型已经下载,离线加载仍报 LocalEntryNotFoundError
离线加载按实际 cache_dir、仓库、revision 和文件名定位。核对子模型及 symlink 目标,区分 Hub 缓存、local_dir 与 pyannote 自有缓存目录。
PyTorch 转 NumPy 报 requires grad,该在什么地方 detach
PyTorch 张量转 NumPy 报 requires grad 时,区分导出与训练损失。说明 detach、CPU 转移、共享内存及 copy,并保留训练计算图。
AutoGen 工具已执行,反思阶段却报 no valid text response
AutoGen 0.6.4 工具反思返回 FunctionCall 列表时,区分执行结果、tool_choice 兼容性与有限工具迭代,并核对最终消息类型和重复操作风险。
PyTorch 开启 FP16 混合精度后,loss 变成 NaN
按前向损失、梯度和更新阶段定位非有限值;正确使用 autocast 与 GradScaler,并说明 BF16 预训练模型和 FP16 数值范围的兼容边界。
JsonOutputParser 报 Invalid json output
JsonOutputParser 能处理 JSON 围栏,但仍会遇到非法语法、缺字段或截断内容。区分 JSON 解析、Pydantic 字段验证和流式完成状态。
Agent 关闭多个 MCP 连接,报 cancel scope 跨 Task 退出
多个 MCP 连接退出时报 cancel scope 跨 Task 错误,检查上下文的任务归属和反向关闭顺序。用同一 Task 的 AsyncExitStack 管理 transport 与 session。
Trainer 组批报 expected sequence of length,padding 为什么没生效
Trainer 组批时报张量长度不同,检查实际 collator 与输入、标签列。区分分类、token classification、seq2seq 和语言模型的补齐及损失掩码。
vLLM 启动报最大模型长度超过 KV cache 容量
权重已经放进显存,vLLM 仍可能没有足够的 KV cache。核对启动日志中的容量、实际上下文需求和 prefill 配置,再调整模型长度与显存预算。
Sentence Transformers 编码长文时,后半段为什么没起作用?
长文正常返回向量也可能已经截断。检查 max_seq_length、完整 token 数与实际编码长度;切分后核对尾部覆盖,不把调大上限当成长文能力。
LangGraph 并行分支重试时,count_b 报 InvalidUpdateError
并行重试让同一个状态键在一步内被写入多次。检查 return state、字段归属、reducer 语义和汇合边,避免错误消失后计数仍重复。
LangChain 自定义检索器报没有 embeddings 属性
自定义 LangChain 检索器报没有 embeddings 属性,检查 VectorStore 与 Retriever 的对象层次;用 BaseRetriever 包装,并区分 invoke 和实现方法。


