跳至主要内容

在 Langflow 中集成 NVIDIA Retriever Extraction

注意

NVIDIA Retriever Extraction 也称为 NV-Ingest 和 NeMo Retriever Extraction。

NVIDIA Retriever Extraction 组件集成了 NVIDIA nv-ingest 微服务,用于文本文件的数据摄取、处理和提取。

nv-ingest 服务支持 PDF、DOCX 和 PPTX 文件类型的多种提取方法,并包括预处理和后处理服务,如分割、分块和嵌入生成。

NVIDIA Retriever Extraction 组件导入 NVIDIA Ingestor 客户端,通过请求 NVIDIA 摄取端点来摄取文件,并将处理后的内容作为 Data 对象列表输出。Ingestor 接受用于从其他文本格式提取数据的附加配置选项。要配置这些选项,请参阅组件参数

先决条件

  • 一个 NVIDIA Ingest 端点。有关设置 NVIDIA Ingest 端点的更多信息,请参阅 NVIDIA Ingest 快速入门

  • NVIDIA Retriever Extraction 组件需要为您的 Langflow 环境安装额外的依赖项。要在虚拟环境中安装依赖项,请运行以下命令。

    • 如果您已经克隆并从源代码安装了 Langflow 仓库

    _10
    source **YOUR_LANGFLOW_VENV**/bin/activate
    _10
    uv sync --extra nv-ingest
    _10
    uv run langflow run

    • 如果您正在从 Python Package Index 安装 Langflow

    _10
    source **YOUR_LANGFLOW_VENV**/bin/activate
    _10
    uv pip install --prerelease=allow 'langflow[nv-ingest]'
    _10
    uv run langflow run

在流程中使用 NVIDIA Retriever Extraction 组件

NVIDIA Retriever Extraction 组件接受 Message 输入并输出 Data。该组件调用 NVIDIA Ingest 微服务的端点来摄取本地文件并提取文本。

要在您的流程中使用 NVIDIA Retriever Extraction 组件,请按照以下步骤操作

  1. 在组件库中,点击 NVIDIA Retriever Extraction 组件,然后将其拖到画布上。
  2. Base URL 字段中,输入 NVIDIA Ingest 端点的 URL。或者,将端点 URL 添加为 Global variable
    1. 点击 Settings,然后点击 Global Variables
    2. 点击 Add New
    3. 命名您的变量。将您的端点粘贴到 Value 字段中。
    4. Apply To Fields 字段中,选择您想要全局应用此变量的字段。在此示例中,选择 NVIDIA Base URL
    5. 点击 Save Variable
  3. 点击 Select files 按钮选择您想要摄取的文件。
  4. 选择要从文件中提取的文本类型。该组件支持文本、图表和表格。
  5. 选择是否将文本分割成块。在组件的 Configuration 选项卡中修改分割参数。
  6. 点击 Run 摄取文件。
  7. 要确认组件正在摄取文件,请打开 Logs 面板查看流程的输出。
  8. 要将处理后的数据存储在向量数据库中,请向您的流程添加 AstraDB Vector 组件,并将 NVIDIA Retriever Extraction 组件通过 Data 输出连接到 AstraDB Vector 组件。

NVIDIA Retriever Extraction component flow

  1. 运行流程。检查您的 Astra DB 向量数据库以查看处理后的数据。

NVIDIA Retriever Extraction 组件参数

NVIDIA Retriever Extraction 组件具有以下参数。

有关更多信息,请参阅 NV-Ingest 文档

输入

名称显示名称信息
base_urlNVIDIA 摄取 URLNVIDIA 摄取 API 的 URL。
path路径要处理的文件路径。
extract_text提取文本从文档中提取文本。默认值:True
extract_charts提取图表从图表中提取文本。默认值:False
extract_tables提取表格从表格中提取文本。默认值:True
text_depth文本深度提取文本的层级。选项:'document'、'page'、'block'、'line'、'span'。默认值:document
split_text分割文本将文本分割成更小的块。默认值:True
split_by分割方式如何分割成块。选项:'page'、'sentence'、'word'、'size'。默认值:word
split_length分割长度根据 'split_by' 方法确定的每个块的大小。默认值:200
split_overlap分割重叠与前一个块重叠的段数。默认值:20
max_character_length最大字符长度每个块中的最大字符数。默认值:1000
sentence_window_size句子窗口大小split_by=sentence 时,从前一个和后一个块中包含的句子数量。默认值:0

输出

NVIDIA Retriever Extraction 组件输出一个 Data 对象列表,其中每个对象包含

  • text:提取的内容。
    • 对于文本文档:提取的文本内容。
    • 对于表格和图表:提取的表格/图表内容。
  • file_path:源文件名和路径。
  • document_type:文档类型(“text”或“structured”)。
  • description:内容的附加描述。

输出根据 document_type 的不同而异

  • document_type: "text" 的文档包含

    • 从文档中提取的原始文本内容,例如 PDF 或 DOCX 文件中的段落。
    • 直接存储在 text 字段中的内容。
    • 使用 extract_text 参数提取的内容。
  • document_type: "structured" 的文档包含

    • 从表格和图表中提取并经过处理以保留结构信息的文本。
    • 使用 extract_tablesextract_charts 参数提取的内容。
    • table_content 元数据处理后存储在 text 字段中的内容。
注意

目前不支持图像,处理时会跳过。

Search