#LangChain
共 21 篇文章
ShellSession 退出后超时
ShellSession 顶层 exit 后,EOF 没结束收集,仍等待完成标记而超时。单任务按条件使用子 shell,保留退出码、会话状态与原有安全限制。
XML 根标签被删了
XMLOutputParser 把普通 encoding 属性误当声明,完整解析前删掉根标签。缩窄可配置规则,保留 defusedxml,分别验完整文档与流式片段。
工具结果多出 None
ToolMessage 的 None 变成字面文本,检查构造前后。仅按业务空文本契约处理 None,保留零值、内容块、失败状态和 tool_call_id。
LangChain 索引错了
TextSplitter 的 start_index 指向后面的重复文字,检查空格重组与 text.find。保留原文分隔符,验证整组顺序覆盖后分配位置,旧索引单独回查。
JSON 混入思考草稿
Perplexity 流式结构化输出把 think 内的 JSON 草稿当结果。拦住未闭合思考区块,保留字段验证,并在流结束后明确核验完整文本。
Ollama 报 think 校验失败
ChatOllama 的 think 字符串在请求前校验失败,核对 Python ollama 0.6.2 与 0.6.3;适配器依赖满足不代表实际模型支持任意等级。
工具缺少 context 参数
ChatPromptTemplate 追加 context 后,as_tool 参数仍只有 q。核对消息、输入变量和工具 schema,完整重建模板与注册签名,保留 partial 和可选历史契约。
Mustache 参数报错
Mustache 聊天模板能渲染 user 字典,as_tool 却报 string_type。显式声明嵌套参数,在工具校验后转回普通字典,验收真实姓名没有变空。
ChatOpenAI 流里缺少 ID
ChatOpenAI 普通流式聚合缺少 response_metadata id,非流式却有。核对 1.7.1 的顶层 chunk ID 转换,在正确响应层保留真实标识。
图片 URL 报 Malformed
ChatAnthropic 的 data URL 报 Malformed url parameter,检查 Base64 内部 MIME 换行;从真实图片字节生成连续编码,并分开验收本地转换与模型接收。
HTML 正文被改写
HTMLSemanticPreservingSplitter 把正文 PRESERVED_0 换成表格内容。避开固定占位符,明确取消整块保留的代价,按原文核对受影响检索分块。
Markdown 标题未分块
MarkdownTextSplitter 把标题粘到上一块,检查语言正则是否被转义。1.1.3 显式开启 is_separator_regex,保留 chunk 预算与索引边界。
KeyError 也被重试
ToolRetryMiddleware 只想重试 TimeoutError,KeyError 却也调用多次。核对单异常类的 callable 分支,用尾逗号元组保留真实过滤与失败策略。
PromptTemplate 示例 JSON 被当成缺失变量
PromptTemplate 把 JSON 花括号当成占位符时,区分字面模板与变量值;核对双花括号、partial_variables 和重复模板化。
JsonOutputParser 报 Invalid json output
JsonOutputParser 能处理 JSON 围栏,但仍会遇到非法语法、缺字段或截断内容。区分 JSON 解析、Pydantic 字段验证和流式完成状态。
LangChain 自定义检索器报没有 embeddings 属性
自定义 LangChain 检索器报没有 embeddings 属性,检查 VectorStore 与 Retriever 的对象层次;用 BaseRetriever 包装,并区分 invoke 和实现方法。


