LlamaIndex文档导入报错求助:文件加载失败问题排查
解决LlamaIndex文档加载错误及完整问答流程
代码笔误修复
你的代码里存在变量名拼写错误:readr.load_data() 应为 reader.load_data() —— 这个笔误会直接导致对象未定义报错,若这是你实际代码的问题,先修正这一点。修正后的基础加载代码:
# 别忘了先导入SimpleDirectoryReader,新手常遗漏这步 from llama_index.core import SimpleDirectoryReader reader = SimpleDirectoryReader(input_files=["./modals/llamaindex test/data/paul_graham_essay.txt"]) docs = reader.load_data() print(f"Loaded {len(docs)} docs")
路径错误排查
若修正后仍提示“文档不在指定位置”,按以下步骤逐一验证:
- 确认工作目录:相对路径的基准是运行脚本时的终端当前目录,而非脚本文件所在目录。可以在代码中添加以下代码打印当前工作目录,对照检查文件位置:
import os print("当前工作目录:", os.getcwd()) - 检查文件名大小写:Linux/macOS系统区分文件名大小写,确保代码中的文件名与实际文件完全一致(包括大小写);Windows系统无需关注这点。
- 避免路径含空格:将路径中的
llamaindex test文件夹重命名为llamaindex_test,同时修改代码中的路径,避免因空格引发的路径解析异常。 - 改用绝对路径测试:如果相对路径难以排查,直接使用文件的绝对路径(如Windows下
"C:/xxx/modals/llamaindex_test/data/paul_graham_essay.txt",Linux/macOS下"/xxx/modals/llamaindex_test/data/paul_graham_essay.txt"),确认文件可正常加载。
完整的文档导入与问答流程
解决加载问题后,以下是完整的基于文档提问的基础流程代码:
# 导入所需模块 from llama_index.core import SimpleDirectoryReader, VectorStoreIndex from llama_index.core.chat_engine import SimpleChatEngine # 加载文档 reader = SimpleDirectoryReader(input_files=["./modals/llamaindex_test/data/paul_graham_essay.txt"]) docs = reader.load_data() print(f"Loaded {len(docs)} docs") # 构建向量索引 index = VectorStoreIndex.from_documents(docs) # 创建聊天引擎并发起提问 chat_engine = index.as_chat_engine(chat_mode="simple", verbose=True) response = chat_engine.chat("这篇文章中Paul Graham分享了哪些核心观点?") print(response)
内容的提问来源于stack exchange,提问作者user23825500
相关产品推荐
相关产品推荐

