You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Langchain与Pydantic兼容问题:导入RecursiveCharacterTextSplitter报错

解决方案:TypeError: ForwardRef._evaluate() missing 'recursive_guard' 参数

这个错误本质是Python 3.12与Pydantic v1的兼容性问题:Python 3.10+的typing.ForwardRef._evaluate方法新增了recursive_guard必填参数,但旧版Pydantic v1的代码未传入该参数,导致调用失败。以下是可直接落地的解决方法:

方法1:降级Python到3.11

Pydantic v1对Python 3.11有完美支持,且Langchain全版本兼容3.11:

  1. 卸载Python 3.12,安装Python 3.11.x版本
  2. 创建新的虚拟环境并激活
  3. 安装依赖:
    pip install langchain pydantic==1.10.14
    

方法2:安装兼容Python 3.12的Pydantic v1补丁版

Pydantic v1.10.15修复了Python 3.12的ForwardRef问题,直接升级到该版本即可:

pip install --upgrade pydantic==1.10.15

之后重新安装对应Langchain版本(推荐0.1.x系列):

pip install langchain==0.1.10

方法3:切换到Pydantic v2 + 新版Langchain

Langchain 0.1.x及以上版本原生支持Pydantic v2,完全适配Python 3.12:

pip install --upgrade langchain pydantic>=2.0

若代码中存在依赖Pydantic v1 API的部分,可通过兼容层导入:

from pydantic import v1 as pydantic_v1
# 示例:替换旧的Pydantic导入
# from pydantic import BaseModel → from pydantic.v1 import BaseModel

额外排查步骤

  • 确保使用虚拟环境,避免全局Python包的依赖冲突
  • 执行pip list检查是否存在多个Pydantic版本,若有则卸载多余版本:
    pip uninstall -y pydantic pydantic-core
    pip install pydantic==[你选择的版本]
    

内容的提问来源于stack exchange,提问作者Ruchika Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:24:58