跳到主要内容

Apache Tika 文本提取

注意

本教程由社区贡献,不受 Open WebUI 团队支持。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。

🪶 Apache Tika 提取

本篇文档提供了将 Apache Tika 与 Open WebUI 集成的逐步指南。Apache Tika 是一个内容分析工具包,可用于检测并提取上千种不同文件类型的元数据和文本内容。所有这些文件类型都可以通过单一接口进行解析,这使得 Tika 在搜索引擎索引、内容分析、翻译等方面非常有用。

前提条件

  • Open WebUI 实例
  • 系统中已安装 Docker
  • 为 Open WebUI 设置了 Docker 网络

集成步骤

步骤 1:为 Apache Tika 创建 Docker Compose 文件或运行 Docker 命令

您有两种运行 Apache Tika 的选择:

方式 1:使用 Docker Compose

在您的 Open WebUI 实例所在的相同目录下创建一个名为 docker-compose.yml 的新文件。将以下配置添加到该文件中:

services:
  tika:
    image: apache/tika:latest-full
    container_name: tika
    ports:
      - "9998:9998"
    restart: unless-stopped

使用以下命令运行 Docker Compose 文件:

docker-compose up -d

方式 2:使用 Docker Run 命令

或者,您也可以使用以下 Docker 命令来运行 Apache Tika:

docker run -d --name tika \
  -p 9998:9998 \
  --restart unless-stopped \
  apache/tika:latest-full

请注意,如果您选择使用 Docker run 命令,并且希望将该容器运行在与 Open WebUI 实例相同的网络中,则需要指定 --network 标志。

步骤 2:配置 Open WebUI 以使用 Apache Tika

要在 Open WebUI 中使用 Apache Tika 作为上下文提取引擎,请按照以下步骤操作:

  • 登录到您的 Open WebUI 实例。
  • 导航至 Admin Panel 设置菜单。
  • 点击 Settings(设置)。
  • 点击 Documents(文档)选项卡。
  • Default(默认)内容提取引擎下拉菜单更改为 Tika
  • 将上下文提取引擎 URL 更新为 http://tika:9998
  • 保存更改。

在 Docker 中验证 Apache Tika

要验证 Apache Tika 是否在 Docker 环境中正常工作,您可以按照以下步骤操作:

1. 启动 Apache Tika Docker 容器

首先,确保 Apache Tika Docker 容器正在运行。您可以使用以下命令启动它:

docker run -p 9998:9998 apache/tika

此命令启动 Apache Tika 容器,并将容器的 9998 端口映射到本地计算机的 9998 端口。

2. 验证服务器是否正在运行

您可以通过发送 GET 请求来验证 Apache Tika 服务器是否正在运行:

curl -X GET http://localhost:9998/tika

此命令应该返回以下响应:

This is Tika Server. Please PUT

3. 验证集成状况

或者,您也可以尝试发送一个文件进行分析以测试集成。您可以使用 curl 命令发送一个文件进行分析来测试 Apache Tika:

curl -T test.txt http://localhost:9998/tika

请将 test.txt 替换为您本地机器上的文本文件路径。

Apache Tika 将响应该文件被检测到的元数据和内容类型。

使用脚本验证 Apache Tika

如果您希望自动执行验证过程,可以使用以下脚本将文件发送给 Apache Tika,并检查响应中是否包含预期的元数据。如果元数据存在,脚本将输出成功消息以及该文件的元数据;否则,它将输出错误消息和来自 Apache Tika 的响应。

import requests

def verify_tika(file_path, tika_url):
    try:
        # Send the file to Apache Tika and verify the output
        response = requests.put(tika_url, files={'file': open(file_path, 'rb')})

        if response.status_code == 200:
            print("Apache Tika successfully analyzed the file.")
            print("Response from Apache Tika:")
            print(response.text)
        else:
            print("Error analyzing the file:")
            print(f"Status code: {response.status_code}")
            print(f"Response from Apache Tika: {response.text}")
    except Exception as e:
        print(f"An error occurred: {e}")

if __name__ == "__main__":
    file_path = "test.txt"  # Replace with the path to your file
    tika_url = "http://localhost:9998/tika"

    verify_tika(file_path, tika_url)

运行该脚本的指令:

前提条件

  • 系统中必须安装了 Python 3.x。
  • 必须安装了 requests 库(您可以使用 pip 安装它:pip install requests)。
  • Apache Tika Docker 容器必须正在运行(使用 docker run -p 9998:9998 apache/tika 命令)。
  • "test.txt" 替换为想发送给 Apache Tika 的文件路径。

运行脚本

  1. 将脚本保存为 verify_tika.py(例如,使用记事本或 Sublime Text 等文本编辑器)。
  2. 打开终端或 command prompt。
  3. 导航到您保存脚本的目录(使用 cd 命令)。
  4. 使用以下命令运行脚本:python verify_tika.py
  5. 脚本将输出一条消息,指示 Apache Tika 是否正常工作。
备注

注意:如果您遇到任何问题,请确保 Apache Tika 容器运行正常,并且文件已被发送到正确的 URL。

结论

通过遵循这些步骤,您可以验证 Apache Tika 是否在 Docker 环境中正常工作。您可以通过发送分析文件、发送 GET 请求验证服务器运行状态,或者使用脚本自动化该过程来测试该设置。如果遇到任何问题,请确保 Apache Tika 容器运行正常且文件已被发送到正确的 URL。

故障排查

  • 确保 Apache Tika 服务正在运行且可由 Open WebUI 实例访问。
  • 检查 Docker 日志以查看与 Apache Tika 服务相关的任何错误或问题。
  • 验证 Open WebUI 中的上下文提取引擎 URL 是否配置正确。

集成带来的好处

将 Apache Tika 与 Open WebUI 集成具有以下几项优势:

  • 增强的元数据提取:Apache Tika 先进的元数据提取能力可帮助您从文件中提取准确且相关的数据。
  • 支持多种文件格式:Apache Tika 支持极为广泛的文件格式,是需要处理多样化文件类型的团队与机构的理想解决方案。
  • 提升内容分析能力:Apache Tika 先进的内容分析功能可帮助您从文件中提取出有价值的洞察。

结论

将 Apache Tika 与 Open WebUI 集成是一个非常直接的过程,能够显著提高您的 Open WebUI 实例的元数据提取能力。通过遵循本篇文档中概述的步骤,您可以轻松地将 Apache Tika 设置为 Open WebUI 的上下文提取引擎。

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.