我目前正在尝试实现langchain功能来处理pdf文档。我有一堆PDF文件存储在Azure Blob存储中。我正在尝试使用langchain PyPDFLoader将pdf文件加载到Azure ML Notebook。但是,我无法完成它。如果我把pdf存储在本地,这是没有问题的,但要扩展,我必须连接到blob商店。我没有在langchain网站或azure网站上找到任何文档。我想知道你们中是否有人有类似的问题。
谢谢你
下面是我正在尝试的代码示例:
from azureml.fsspec import AzureMachineLearningFileSystem
fs = AzureMachineLearningFileSystem("<path to datastore>")
from langchain.document_loaders import PyPDFLoader
with fs.open('*/.../file.pdf', 'rb') as fd:
loader = PyPDFLoader(document)
data = loader.load()
Error: TypeError: expected str, bytes or os.PathLike object, not StreamInfoFileObject
另一个例子是:
from langchain.document_loaders import UnstructuredFileLoader
with fs.open('*/.../file.pdf', 'rb') as fd:
loader = UnstructuredFileLoader(fd)
documents = loader.load()
Error: TypeError: expected str, bytes or os.PathLike object, not StreamInfoFileObject
1条答案
按热度按时间gblwokeq1#
如果您仍然需要答案,则必须将blob数据转换为BytesIO对象,并在处理文件之前将其保存在本地(无论是临时还是永久)。我是这样做的:
然后为BytesIO对象创建一个临时文件夹,以便读取和“转换”成它们各自的文档类型
并使用DirectoryLoader加载任何类型的文档