跳到主要内容

将 NVIDIA Retriever Extraction 与 Langflow 集成

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

nv-ingest 服务支持 PDF、DOCX 和 PPTX 文件类型的多种提取方法,并包括分割、分块和嵌入生成等预处理和后处理服务。提取器服务的高分辨率模式使用 nemoretriever-parse 提取方法,以从扫描的 PDF 文档中实现更高质量的提取。此功能仅适用于 PDF 文件。

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

提示

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

先决条件

  • 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 包索引安装 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 存储为 全局变量,以便在多个组件和工作流中重复使用。

  3. 点击 Select Files 选择要摄取的文件。

  4. 选择要从文件中提取的文本类型:文本、图表、表格、图像或信息图。

  5. 可选:对于 PDF 文件,启用 High Resolution Mode 以从扫描的文档中实现更高质量的提取。

  6. 选择是否将文本分割为块。

    在可视化编辑器中,部分参数默认情况下是隐藏的。 您可以通过组件的头部菜单中的 控件 来修改所有参数。

  7. 点击 Run component 摄取文件,然后点击 Logs Inspect output 确认组件已摄取文件。

  8. 要将处理后的数据存储在向量数据库中,请向您的工作流添加一个 Vector Store 组件,然后将 NVIDIA Retriever Extraction 组件的 Data 输出连接到 Vector Store 组件的输入。

    当您使用 Vector Store 组件运行工作流时,处理后的数据将存储在向量数据库中。 您可以查询您的数据库以检索上传的数据。

    NVIDIA Retriever Extraction component flow

NVIDIA Retriever Extraction 组件参数

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

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

Inputs

NameDisplay NameInfo
base_urlNVIDIA Ingestion URLNVIDIA Ingestion API 的 URL。
pathPath要处理的文件路径。
extract_textExtract Text从文档中提取文本。默认值:true。
extract_chartsExtract Charts从图表中提取文本。默认值:false。
extract_tablesExtract Tables从表格中提取文本。默认值:true。
extract_imagesExtract Images从文档中提取图像。默认值:true。
extract_infographicsExtract Infographics从文档中提取信息图表。默认值:false。
text_depthText Depth提取文本的层级。选项:'document', 'page', 'block', 'line', 'span'。默认值:page
split_textSplit Text将文本分割成较小的块。默认值:true。
chunk_sizeChunk Size每个块的 token 数量。默认值:500。确保块大小与您的嵌入模型兼容。有关更多信息,请参阅由于块大小导致的标记化错误
chunk_overlapChunk Overlap与前一个块重叠的 token 数量。默认值:150
filter_imagesFilter Images过滤图像(有关过滤条件的详细信息,请参阅高级选项)。默认值:false。
min_image_sizeMinimum Image Size Filter图像的最小宽度/长度(像素)。默认值:128
min_aspect_ratioMinimum Aspect Ratio Filter允许的最小宽高比(宽度/高度)。默认值:0.2
max_aspect_ratioMaximum Aspect Ratio Filter允许的最大宽高比(宽度/高度)。默认值:5.0
dedup_imagesDeduplicate Images过滤重复的图像。默认值:true。
caption_imagesCaption Images使用 NVIDIA 标注模型为图像生成标题。默认值:true。
high_resolutionHigh Resolution (PDF only)以高分辨率模式处理 PDF,以从扫描的 PDF 中获得更好的提取质量。默认值:false。

Outputs

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

  • text: 提取的内容。
    • 对于文本文档:提取的文本内容。
    • 对于表格和图表:提取的表格/图表内容。
    • 对于图像:图像标题。
    • 对于信息图表:提取的信息图表内容。
  • file_path: 源文件名和路径。
  • document_type: 文档类型,可以是 textstructuredimage
  • description: 内容的附加描述。

输出根据 document_type 的不同而变化:

  • document_type: "text" 的文档包含:

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

    • 从表格、图表和信息图表中提取并处理以保留结构信息的文本。
    • 使用 extract_tablesextract_chartsextract_infographics 参数提取的内容。
    • table_content 元数据处理后存储在 text 字段中的内容。
  • document_type: "image" 的文档包含:

    • 从文档中提取的图像内容。
    • 当启用 caption_images 时,存储在 text 字段中的标题文本。
    • 使用 extract_images 参数提取的内容。
Search