突发PydanticSchemaGenerationError:llama_index导入失败求助
问题排查与修复方案
核心原因分析
该错误源于llama-index-core内部的QueryEndEvent类使用了AsyncGenerator类型,但Pydantic 2.10.0在schema生成时对该类型的处理存在隐性兼容问题,尽管版本号符合官方要求,仍会触发校验报错。
解决步骤
1. 临时快速修复:全局开启类型兼容
在项目初始化代码中添加Pydantic全局配置,绕过类型校验限制:
from pydantic import ConfigDict # 全局设置允许任意类型 ConfigDict(arbitrary_types_allowed=True)
此方法可直接跳过AsyncGenerator的schema生成错误,快速恢复导入功能。
2. 锁定兼容的Pydantic版本
降级到llama-index-core 0.11.23发布时的稳定兼容版本(如2.7.4),避免新版本的隐性冲突:
poetry add pydantic==2.7.4
执行后重新安装依赖并测试导入。
3. 排查间接依赖冲突
检查依赖树中是否有其他包篡改了pydantic的核心依赖版本:
poetry show --tree pydantic
若发现pydantic-core版本异常,在pyproject.toml中手动锁定兼容版本:
[tool.poetry.dependencies] pydantic-core = "2.18.4" # 与pydantic 2.7.x匹配的稳定版本
4. 规避问题模块导入
若仅需Document和TextNode,可直接从底层模块导入,绕过包含QueryEndEvent的代码路径:
from llama_index.core.schema.base import Document, TextNode
内容的提问来源于stack exchange,提问作者Steve Ahlswede
相关产品推荐
相关产品推荐

