调用loader.load()时出现ImportError:无法从pdfminer.utils导入open_filename
解决UnstructuredPDFLoader导入
open_filename错误的方案 问题根源
错误源于pdfminer.six版本与unstructured依赖版本不兼容,新版pdfminer.six中已移除open_filename方法,而旧版unstructured仍依赖该方法。
修复步骤
- 彻底卸载冲突依赖:
pip uninstall -y pdfminer pdfminer.six unstructured langchain - 安装兼容版本的套件:
pip install pdfminer.six==20221105 unstructured==0.7.12 langchain - 重新执行PDF加载代码:
from langchain.document_loaders import UnstructuredPDFLoader loader = UnstructuredPDFLoader("./xx.pdf") data = loader.load()
备选方案
如果上述方法仍无效,可替换为LangChain的PyPDFLoader加载PDF:
from langchain.document_loaders import PyPDFLoader loader = PyPDFLoader("./xx.pdf") pages = loader.load_and_split()
内容的提问来源于stack exchange,提问作者gopakumar sivanpillai
相关产品推荐
相关产品推荐

