llamaindex SimpleDirectoryReader的使用

SimpleDirectoryReader

概念解释

SimpleDirectoryReader 是 LlamaIndex 中加载本地文件数据的最简单方式。对于生产用例,你可能更倾向于使用 LlamaHub 上提供的众多读取器之一,但 SimpleDirectoryReader 是开始使用的好方法。

支持的文件类型

默认情况下,SimpleDirectoryReader 会尝试读取它找到的任何文件,并将它们都视为文本文件。除了纯文本之外,它还明确支持以下文件类型,这些文件类型是根据文件扩展名自动检测的:

  • .csv - 逗号分隔值
  • .docx - Microsoft Word
  • .epub - EPUB 电子书格式
  • .hwp - Hangul Word Processor
  • .ipynb - Jupyter Notebook
  • .jpeg, .jpg - JPEG 图像
  • .mbox - MBOX 电子邮件存档
  • .md - Markdown
  • .mp3, .mp4 - 音频和视频
  • .pdf - 便携式文档格式
  • .png - 便携式网络图形
  • .ppt, .pptm, .pptx - Microsoft PowerPoint

你可能期望在这里找到 JSON 文件类型;对于 JSON,我们建议你使用我们的 JSON 加载器。

使用方法

最基本的用法是传递一个 input_dir,它将加载该目录中的所有支持文件:

from llama_index.core import SimpleDirectoryReader

reader = SimpleDirectoryReader(input_dir="path/to/directory")
documents = reader.load_data()

如果从一个目录中加载许多文件,可以使用并行处理来加载文档。注意,在 Windows 和 Linux/MacOS 机器上使用多进程时存在差异,这在多进程文档中有解释(例如,参见这里)。最终,Windows 用户可能会看到较少或没有性能提升,而 Linux/MacOS 用户在加载相同的一组文件时会看到这些提升。

documents = reader.load_data(num_workers=4)
从子目录读取

默认情况下,SimpleDirectoryReader 只会读取目录顶层的文件。要从子目录读取文件,请设置 recursive=True

SimpleDirectoryReader(input_dir="path/to/directory"
### LlamaIndex 基本使用教程 #### 安装必要的库 为了开始使用 LlamaIndex,首先需要安装所需的 Python 库。可以通过以下命令完成安装: ```bash %pip install llama-index-llms-replicate !pip install llama-index ``` #### 下载并加载数据 对于大多数应用场景来说,在实际操作之前准备数据集是非常重要的一步。这里展示如何获取和处理文本文件。 假设目标是从特定 PDF 文件中检索信息,则可以按照如下方式下载示例文档[^5]: ```bash !wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/10k/uber_2021.pdf' -O './uber_2021.pdf' !wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/docs/examples/data/10k/lyft_2021.pdf' -O './lyft_2021.pdf' ``` 接着利用 `LlamaIndex` 提供的功能读取这些PDF文件中的内容,并将其转换成适合进一步分析的形式。 #### 创建索引结构 一旦拥有了要查询的数据之后,下一步就是创建一个有效的索引来加速后续的信息查找过程。下面是一个简单的例子说明怎样建立基本的向量空间模型来进行相似度匹配: ```python from llama_index import SimpleDirectoryReader, GPTListIndex documents = SimpleDirectoryReader('path/to/directory').load_data() index = GPTListIndex(documents) query_engine = index.as_query_engine() response = query_engine.query("What is the main business of Uber?") print(response) ``` 这段代码会遍历指定目录下的所有支持格式的文档,然后通过GPT算法构建列表形式的索引。最后,它允许用户输入自然语言问题并通过该索引返回最接近的答案。 #### 执行简单查询 上述脚本的最后一部分展示了如何执行一次简单的查询请求。“What is the main business of Uber?” 这样的问题是用来测试刚刚设置好的系统的功能性和准确性的一个好办法。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值