文档API 参考📓 教程🧑‍🍳 食谱🤝 集成💜 Discord🎨 Studio
文档

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 APIUnstructured Serverless API

  1. 免费 Unstructured API:

    • API URLhttps://api.unstructured.io/general/v0/general
    • 此版本是免费的,但有一些限制。
  2. 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")

相关链接

请查看 GitHub 仓库或我们的文档中的 API 参考