UnstructuredFileConverter
使用此组件将文本文件和目录转换为文档。
| pipeline 中的最常见位置 | 在 预处理器 之前或索引管道的开始处 |
| 强制运行变量 | “paths”: 路径列表的并集 |
| 输出变量 | “documents: 文档列表 |
| API 参考 | 非结构化 |
| GitHub 链接 | https://github.com/deepset-ai/haystack-core-integrations/tree/main/integrations/unstructured |
概述
UnstructuredFileConverter 使用 Unstructured API 将文件和目录转换为文档。
Unstructured 提供了一系列用于 LLM 的 ETL 工具。该UnstructuredFileConverter 调用 Unstructured API,该 API 从各种文件 格式 中提取文本和其他信息。
此转换器支持从 Unstructured 返回的元素创建文档的不同模式
"one-doc-per-file": 每个文件一个 Haystack 文档。所有元素都连接到一个文本字段中。"one-doc-per-page": 每页一个 Haystack 文档。页面上的所有元素都连接到一个文本字段中。"one-doc-per-element": 每个元素一个 Haystack 文档。每个元素都被转换为一个 Haystack 文档。
用法
安装 Unstructured 集成以使用UnstructuredFileConverter 组件
pip install unstructured-fileconverter-haystack
Unstructured API 有免费和付费版本:免费 Unstructured API 和 Unstructured Serverless API。
-
免费 Unstructured API:
- API URL
https://api.unstructured.io/general/v0/general - 此版本是免费的,但有一些限制。
- API URL
-
Unstructured Serverless API:
- 在注册付费版本后,您将在 Unstructured 帐户中找到您的唯一 API URL。
- 这是 Unstructured 的全级别付费版本。
有关两个级别的更多详细信息,请参阅 Unstructured FAQ。
免费版本和付费版本的 API 密钥不同,不能互换使用。
无论选择哪个级别,我们都建议将 Unstructured API 密钥设置为环境变量UNSTRUCTURED_API_KEY:
export UNSTRUCTURED_API_KEY=your_api_key
单独使用
import os
from haystack_integrations.components.converters.unstructured import UnstructuredFileConverter
converter = UnstructuredFileConverter()
documents = converter.run(paths = ["a/file/path.pdf", "a/directory/path"])["documents"]
在 pipeline 中
import os
from haystack import Pipeline
from haystack.components.writers import DocumentWriter
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack_integrations.components.converters.unstructured import UnstructuredFileConverter
document_store = InMemoryDocumentStore()
indexing = Pipeline()
indexing.add_component("converter", UnstructuredFileConverter())
indexing.add_component("writer", DocumentWriter(document_store))
indexing.connect("converter", "writer")
indexing.run({"converter": {"paths": ["a/file/path.pdf", "a/directory/path"]}})
使用 Docker
要使用UnstructuredFileConverter 通过 Docker,首先,设置一个 Unstructured Docker 容器
docker run -p 8000:8000 -d --rm --name unstructured-api quay.io/unstructured-io/unstructured-api:latest --port 8000 --host 0.0.0.0
初始化组件时,指定 localhost URL
from haystack_integrations.components.converters.unstructured import UnstructuredFileConverter
converter = UnstructuredFileConverter(api_url="https://:8000/general/v0/general")
更新于 大约 1 年前
