如何在Langchain中加载Json文件的文件夹?

pei*_*iwb 7 langchain py-langchain document-loader

我正在尝试在 Langchain 中加载 JSON 文件的文件夹,如下所示:

loader = DirectoryLoader(r'C:...')
documents = loader.load()
Run Code Online (Sandbox Code Playgroud)

但我收到这样的错误消息:

ValueError:Json 架构与非结构化架构不匹配

谁能告诉我如何解决这个问题?

我尝试使用glob='**/*.json',但它不起作用。Langchain 网站上的文档也很有限。

Buf*_*ffK 10

如果你想读取整个文件,可以使用loader_cls参数:

from langchain.document_loaders import DirectoryLoader, TextLoader

loader = DirectoryLoader(DRIVE_FOLDER, glob='**/*.json', show_progress=True, loader_cls=TextLoader)
Run Code Online (Sandbox Code Playgroud)

JSONLoader另外,您可以与架构参数一起使用,例如:

from langchain.document_loaders.json_loader import JSONLoader

DRIVE_FOLDER = "/content/drive/MyDrive/Colab Notebooks/demo"

loader = DirectoryLoader(DRIVE_FOLDER, glob='**/*.json', show_progress=True, loader_cls=JSONLoader, loader_kwargs = {'jq_schema':'.content'})

documents = loader.load()

print(f'document count: {len(documents)}')
print(documents[0] if len(documents) > 0 else None)
Run Code Online (Sandbox Code Playgroud)

jq_schema您可以按照以下步骤操作: https://github.com/hwchase17/langchain/blob/master/langchain/document_loaders/json_loader.py#L10

更多用法DirectoryLoaderhttps://github.com/hwchase17/langchain/blob/master/langchain/document_loaders/directory.py