Sycamore
Sycamore 是一个开源的 AI 驱动文档处理引擎,旨在利用 Python 为检索增强生成 (RAG) 和语义搜索准备非结构化数据。Sycamore 支持对各种复杂文档类型(包括报告、演示文稿、转录本和手册)进行分块和丰富。此外,Sycamore 可以提取和处理嵌入式元素,例如表格、图表、图形和其他信息图表。然后,它可以使用 OpenSearch 连接器等连接器将数据加载到目标索引(包括向量和关键词索引)中。
要开始使用,请访问 Sycamore 文档。
Sycamore ETL 管道结构
Sycamore 的提取、转换、加载 (ETL) 管道将一系列转换应用于 DocSet,DocSet 是文档及其组成元素(例如表格、文本块或标题)的集合。在管道的末尾,DocSet 被加载到 OpenSearch 向量和关键词索引中。
在 OpenSearch 中为向量或混合搜索准备非结构化数据的典型管道包括以下步骤
- 将文档读取到 DocSet 中。
- 将文档分区为结构化 JSON 元素。
- 使用转换提取元数据并过滤和清理数据。
- 从元素组创建分块。
- 使用您选择的模型嵌入分块。
- 将嵌入、元数据和文本加载到 OpenSearch 向量和关键词索引中。
有关使用此工作流的管道示例,请参阅此笔记本。
安装 Sycamore
我们建议使用 pip
安装 Sycamore 库。OpenSearch 的连接器可以使用 extras 指定和安装。例如
pip install sycamore-ai[opensearch]
默认情况下,Sycamore 与 Aryn Partitioning Service 配合使用来处理 PDF。要在本地运行推理进行分区或嵌入,请按如下方式安装带有 local-inference
extra 的 Sycamore
pip install sycamore-ai[opensearch,local-inference]
后续步骤
欲了解更多信息,请访问 Sycamore 文档。