由 deepset 维护
集成:非结构化文件转换器
使用 Unstructured API 将文件和目录轻松转换为 Documents 的组件
概述
Haystack LLM 框架的组件,使用 Unstructured API 将文件和目录转换为 Documents。
Unstructured 提供用于 LLM 的 ETL 工具,可从各种文件格式中提取文本和其他信息。有关更多详细信息,请参阅 支持的文件类型。
安装
要安装 Unstructured 文件转换器,请运行
pip install unstructured-fileconverter-haystack
使用
连接到 Unstructured API
托管 API
Unstructured API 提供免费和付费版本:Unstructured Serverless API 或 Free Unstructured API。
对于免费 Unstructured API,API URL 为 https://api.unstructured.io/general/v0/general。对于 Unstructured Serverless API,请在您的 Unstructured 帐户中查找您的唯一 API URL。
请注意,免费版和付费版的 API 密钥不可互换。
将 Unstructured API 密钥设置为环境变量
export UNSTRUCTURED_API_KEY=your_api_key
本地 API (Docker)
您可以使用 Docker 运行 Unstructured API 的本地实例
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")
运行 Unstructured 文件转换器
独立运行
import os
from haystack_integrations.components.converters.unstructured import UnstructuredFileConverter
converter = UnstructuredFileConverter()
documents = converter.run(paths = ["a/file/path.pdf", "a/directory/path"])["documents"]
在 Haystack 管道中运行
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"]}})
