llama-index 0.7.18导入报错:无法导入SimpleDirectoryReader及llms模块
解决llama-index 0.7.18版本导入错误问题
问题代码
from llama_index import SimpleDirectoryReader, ServiceContext, VectorStoreIndex from llama_index.llms import OpenAI
出现的错误
- ImportError: cannot import name 'SimpleDirectoryReader' from 'llama_index' (unknown location)
- ModuleNotFoundError: No module named 'llama_index.llms'
原因分析
llama-index在0.8.0版本前后进行了模块结构重构:
- 将
SimpleDirectoryReader从子模块移至根模块 - 新增
llama_index.llms模块统一管理LLM相关实现
而0.7.18版本还未完成这些调整,因此原导入路径不兼容。
解决方案
方案一:升级llama-index到0.8.0及以上版本
执行升级命令:
pip install --upgrade llama-index
升级后原导入语句即可正常使用,无需修改代码。
方案二:适配0.7.18版本的导入路径
修改导入代码为:
# 导入SimpleDirectoryReader from llama_index.readers import SimpleDirectoryReader from llama_index import ServiceContext, VectorStoreIndex # 导入OpenAI需结合langchain实现 from llama_index.llm_predictor import LLMPredictor from langchain.llms import OpenAI # 示例使用 llm = OpenAI(temperature=0) llm_predictor = LLMPredictor(llm=llm) service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
内容的提问来源于stack exchange,提问作者abstract
相关产品推荐
相关产品推荐

