Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/docs/extraction/audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ to transcribe speech to text, which is then embedded by using the NeMo Retriever

!!! important

Due to limitations in available VRAM controls in the current release, the parakeet-1-1b-ctc-en-us ASR NIM microservice must run on a [dedicated additional GPU](support-matrix.md). For the full list of requirements, refer to [Support Matrix](support-matrix.md).
Due to limitations in available VRAM controls in the current release, the RIVA ASR NIM microservice must run on a [dedicated additional GPU](support-matrix.md). For the full list of requirements, refer to [Support Matrix](https://docs.nvidia.com/deeplearning/riva/user-guide/docs/support-matrix/support-matrix.html).
Comment on lines 28 to +30

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Inconsistent microservice name after partial rename

This !!! important block was updated to read "RIVA ASR NIM microservice", but the rest of the page (title paragraph at lines 3–5, overview paragraph at lines 25–26, and the second !!! important at line 44–46) still uses "parakeet-1-1b-ctc-en-us ASR NIM microservice". RIVA and Parakeet are distinct products, so readers will encounter two different names for what appears to be the same component. Either the remaining references should be updated to RIVA or this block should revert to Parakeet.

Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/docs/extraction/audio.md
Line: 28-30

Comment:
**Inconsistent microservice name after partial rename**

This `!!! important` block was updated to read "RIVA ASR NIM microservice", but the rest of the page (title paragraph at lines 3–5, overview paragraph at lines 25–26, and the second `!!! important` at line 44–46) still uses "parakeet-1-1b-ctc-en-us ASR NIM microservice". RIVA and Parakeet are distinct products, so readers will encounter two different names for what appears to be the same component. Either the remaining references should be updated to RIVA or this block should revert to Parakeet.

How can I resolve this? If you propose a fix, please make it concise.


This pipeline enables users to retrieve speech files at the segment level.

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/extraction/benchmarking.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Before you use this documentation, you need the following:
### Run Your First Test

```bash
# 1. Navigate to the nv-ingest-harness directory
# 1. Navigate to the harness directory
cd tools/harness

# 2. Install dependencies
Expand Down Expand Up @@ -181,8 +181,8 @@ Example:
# YAML active section has api_version: v2
# Dataset bo767 has extract_images: false
# Override via environment variable (highest priority)
EXTRACT_IMAGES=true API_VERSION=v1 uv run nv-ingest-harness-run --case=e2e --dataset=bo767
# Result: Uses bo767 path, but extract_images=true (env override) and api_version=v1 (env override)
EXTRACT_IMAGES=true API_VERSION=v2 uv run nv-ingest-harness-run --case=e2e --dataset=bo767
# Result: Uses bo767 path, but extract_images=true (env override) and api_version=v2 (env override)
```

**Precedence Details:**
Expand Down Expand Up @@ -636,7 +636,7 @@ tools/harness/artifacts/<test_name>_<timestamp>_UTC/
Enable per-document element breakdown:

```bash
uv run nv-ingest-harness-run --case=e2e --dataset=bo767 --doc-analysis
uv run nv-ingest-harness-run --case=e2e --doc-analysis
```

**Sample Output:**
Expand Down
6 changes: 3 additions & 3 deletions docs/docs/extraction/content-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Describes the structural location of content within a document.
| `span` | `int` | `-1` | Span identifier within a line, for finer granularity. |
| `nearby_objects` | `NearbyObjectsSchema` | `NearbyObjectsSchema()` | Information about objects (text, images, structured data) near the current content. See [NearbyObjectsSchema](#nearbyobjectsschema). |

### `NearbyObjectsSchema` (Currently Unused)
### `NearbyObjectsSchema` (Currently Unused) {#nearbyobjectsschema}
Container for different types of nearby objects.

| Field | Type | Default Value | Description |
Expand Down Expand Up @@ -243,7 +243,7 @@ Specific metadata for audio content.
| `audio_transcript` | `str` | `""` | Transcript of the audio content. |
| `audio_type` | `str` | `""` | Type or format of the audio (e.g., `mp3`, `wav`). |

### `ErrorMetadataSchema` (Currently Unused)
### `ErrorMetadataSchema` (Currently Unused) {#errormetadataschema}
Metadata describing errors encountered during processing.

| Field | Type | Default Value | Description |
Expand All @@ -253,7 +253,7 @@ Metadata describing errors encountered during processing.
| `source_id` | `str` | `""` | Identifier of the source item that caused the error, if applicable. |
| `error_msg` | `str` | *Required* | The error message. |

### `InfoMessageMetadataSchema` (Currently Unused)
### `InfoMessageMetadataSchema` (Currently Unused) {#infomessagemetadataschema}
Informational messages related to processing.

| Field | Type | Default Value | Description |
Expand Down
20 changes: 10 additions & 10 deletions docs/docs/extraction/custom-metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ For more information about the `Ingestor` class, see [Use the Python API](nv-ing
For more information about the `vdb_upload` method, see [Upload Data](data-store.md).

```python
from nv_ingest_client.client import Ingestor
from nv_ingest_client.client.interface import Ingestor

hostname="localhost"
collection_name = "nv_ingest_collection"
Expand Down Expand Up @@ -142,7 +142,7 @@ you can use the `content_metadata` field to filter search results.
The following example uses a filter expression to narrow results by department.

```python
from nv_ingest_client.util.milvus import nvingest_retrieval
from nv_ingest_client.util.vdb.milvus import nvingest_retrieval

hostname="localhost"
collection_name = "nv_ingest_collection"
Expand All @@ -157,14 +157,14 @@ q_results = []
for que in queries:
q_results.append(
nvingest_retrieval(
[que],
collection_name,
milvus_uri=f"http://{hostname}:19530",
embedding_endpoint=f"http://{hostname}:8012/v1",
hybrid=sparse,
top_k=top_k,
model_name=model_name,
gpu_search=False,
[que],
collection_name=collection_name,
milvus_uri=f"http://{hostname}:19530",
embedding_endpoint=f"http://{hostname}:8012/v1",
hybrid=sparse,
top_k=top_k,
model_name=model_name,
gpu_search=False,
_filter=filter_expr
)
)
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/extraction/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ For more information, refer to [Extract Specific Elements from PDFs](nv-ingest-p
```python
Ingestor(client=client)
.files("data/multimodal_test.pdf")
.extract(
.extract(
extract_text=True,
extract_tables=True,
extract_charts=True,
Expand Down
3 changes: 2 additions & 1 deletion docs/docs/extraction/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Before you begin using [NeMo Retriever Library](overview.md), ensure the followi
## Software Requirements

- Linux operating systems (Ubuntu 22.04 or later recommended)
- **Python 3.12 or later** (required for NeMo Retriever Library packages; see note below)
- [Docker](https://docs.docker.com/engine/install/)
- [Docker Compose](https://docs.docker.com/compose/install/)
- [Docker Buildx](https://docs.docker.com/build/concepts/overview/#buildx) `>= 0.17` (Compose 2.40+ enforces this)
Expand All @@ -22,7 +23,7 @@ Before you begin using [NeMo Retriever Library](overview.md), ensure the followi

!!! note

When you use UV, create the environment with Python 3.12 or later — for example, `uv venv --python 3.12`. This matches the `requires-python` metadata in the library packages.
Install **Python 3.12 or later** before creating your environment. Using Python 3.10 or 3.11 will cause dependency resolution failures when installing NeMo Retriever Library packages.



Expand Down
8 changes: 4 additions & 4 deletions docs/docs/extraction/python-api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ The caption task can call a vision-language model (VLM) with the following optio

Example:
```python
from nemo_retriever.client.interface import Ingestor
from nv_ingest_client.client.interface import Ingestor

ingestor = (
Ingestor()
Expand Down Expand Up @@ -224,7 +224,7 @@ The `extract` method enables different types of data to be extracted.
Use the following code to extract a single PDF file.

```python
from nemo_retriever.client.interface import Ingestor
from nv_ingest_client.client.interface import Ingestor

# Initialize Ingestor with a local PDF file
ingestor = Ingestor().files("path/to/document.pdf")
Expand Down Expand Up @@ -527,7 +527,7 @@ The caption task can call a VLM with optional prompt and reasoning overrides:

Example:
```python
from nemo_retriever.client.interface import Ingestor
from nv_ingest_client.client.interface import Ingestor

ingestor = (
Ingestor()
Expand Down Expand Up @@ -662,7 +662,7 @@ For more information on environment variables, refer to [Environment Variables](
Use the following code to extract mp3 audio content.

```python
from nemo_retriever.client import Ingestor
from nv_ingest_client.client.interface import Ingestor

ingestor = Ingestor().files("audio_file.mp3")

Expand Down
5 changes: 3 additions & 2 deletions docs/docs/extraction/quickstart-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,8 @@ The following examples demonstrate how to extract text, charts, tables, and imag
<a id="ingest_python_example"></a>
```python
import logging, os, time
from nv_ingest_client.client import Ingestor, NvIngestClient
from nv_ingest_client.client.interface import Ingestor
from nv_ingest_client.client import NvIngestClient
from nv_ingest_client.util.process_json_files import ingest_json_results_to_blob
client = NvIngestClient(
message_client_port=7670,
Expand Down Expand Up @@ -535,7 +536,7 @@ docker compose \

## Specify MIG slices for NIM models

When you deploy the pipeline with NIM models on MIG‑enabled GPUs, MIG device slices are requested and scheduled through the `values.yaml` file for the corresponding NIM microservice. For IBM Content-Aware Storage (CAS) deployments, this allows NIM pods to land only on nodes that expose the desired MIG profiles [raw.githubusercontent](https://raw.githubusercontent.com/NVIDIA/nv-ingest/main/helm/README.md).
When you deploy NeMo Retriever Library with NIM models on MIG‑enabled GPUs, MIG device slices are requested and scheduled through the `values.yaml` file for the corresponding NIM microservice. For IBM Content-Aware Storage (CAS) deployments, this allows NeMo Retriever Library NIM pods to land only on nodes that expose the desired MIG profiles [raw.githubusercontent](https://raw.githubusercontent.com/NVIDIA/NeMo-Retriever/main/helm/README.md).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Zero-width space at end of line

Line 539 ends with a Unicode zero-width space character (U+200B) after the closing ] of the link. This invisible character can cause broken rendering in some Markdown processors and may appear as an unexpected character in raw text views. It should be removed.

Prompt To Fix With AI
This is a comment left during a code review.
Path: docs/docs/extraction/quickstart-guide.md
Line: 539

Comment:
**Zero-width space at end of line**

Line 539 ends with a Unicode zero-width space character (`U+200B`) after the closing `]` of the link. This invisible character can cause broken rendering in some Markdown processors and may appear as an unexpected character in raw text views. It should be removed.

How can I resolve this? If you propose a fix, please make it concise.


To target a specific MIG profile—for example, a 3g.20gb slice on an A100, which is a hardware-partitioned virtual GPU instance that gives your workload a fixed mid-sized share of the A100’s compute plus 20 GB of dedicated GPU memory and behaves like a smaller independent GPU—for a given NIM, configure the `resources` and `nodeSelector` under that NIM’s values path in `values.yaml`.

Expand Down
31 changes: 16 additions & 15 deletions docs/docs/extraction/quickstart-library-mode.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,11 @@ The primary Python entry point for launching the Ray-based ingestion pipeline in
```python
import time

from nemo_retriever.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nemo_retriever.client import Ingestor, NemoRetrieverClient
from nemo_retriever.util.message_brokers.simple_message_broker import SimpleClient
from nemo_retriever.util.process_json_files import ingest_json_results_to_blob
from nv_ingest.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nv_ingest_client.client.interface import Ingestor
from nv_ingest_client.client import NvIngestClient
from nv_ingest_api.util.message_brokers.simple_message_broker import SimpleClient
from nv_ingest_client.util.process_json_files import ingest_json_results_to_blob

def main():
# Start the pipeline subprocess for library mode
Expand Down Expand Up @@ -122,24 +123,24 @@ To query for relevant snippets of the ingested content, and use them with an LLM
```python
import os
from openai import OpenAI
from nemo_retriever.util.milvus import query
from nv_ingest_client.util.vdb.milvus import nvingest_retrieval

milvus_uri = "milvus.db"
collection_name = "test"
sparse=False

queries = ["Which animal is responsible for the typos?"]

retrieved_docs = query(
retrieved_docs = nvingest_retrieval(
queries,
collection_name,
collection_name=collection_name,
milvus_uri=milvus_uri,
hybrid=sparse,
top_k=1,
)

# simple generation example
extract = retrieved_docs[0][0]["entity"]["text"]
extract = retrieved_docs[0][0].get("entity", retrieved_docs[0][0]).get("text", "")
client = OpenAI(
base_url = "https://integrate.api.nvidia.com/v1",
api_key = os.environ["NVIDIA_API_KEY"]
Expand Down Expand Up @@ -239,8 +240,8 @@ It listens for ingestion requests on port `7671` from an external client.
import logging
import os

from nemo_retriever.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nemo_retriever.util.logging.configuration import configure_logging as configure_local_logging
from nv_ingest.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nv_ingest_api.util.logging.configuration import configure_logging as configure_local_logging

# Configure the logger
logger = logging.getLogger(__name__)
Expand Down Expand Up @@ -285,11 +286,11 @@ import logging
import os
import time

from nemo_retriever.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nemo_retriever.util.logging.configuration import configure_logging as configure_local_logging
from nemo_retriever.util.message_brokers.simple_message_broker import SimpleClient
from nemo_retriever.client import Ingestor
from nemo_retriever.client import NemoRetrieverClient
from nv_ingest.framework.orchestration.ray.util.pipeline.pipeline_runners import run_pipeline
from nv_ingest_api.util.logging.configuration import configure_logging as configure_local_logging
from nv_ingest_api.util.message_brokers.simple_message_broker import SimpleClient
from nv_ingest_client.client.interface import Ingestor
from nv_ingest_client.client import NvIngestClient

# Configure the logger
logger = logging.getLogger(__name__)
Expand Down
6 changes: 6 additions & 0 deletions docs/docs/extraction/support-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ Before you begin using [NeMo Retriever Library](overview.md), ensure that you ha
NVIDIA Ingest (nv-ingest) has been renamed NeMo Retriever Library.


## Software Requirements

- **Python**: 3.12 or later. The NeMo Retriever Library core and harness require Python 3.12+; the client supports Python 3.11+. Using Python 3.10 or earlier will cause dependency resolution failures. For details, see [Prerequisites](prerequisites.md).


## Core and Advanced Pipeline Features

The Nemo Retriever Library extraction core pipeline features run on a single A10G or better GPU.
Expand Down Expand Up @@ -39,6 +44,7 @@ This includes the following:
NeMo Retriever Library supports the following GPU hardware.

- [RTX Pro 6000 Blackwell Server Edition](https://www.nvidia.com/en-us/data-center/rtx-pro-6000-blackwell-server-edition/)
- [RTX PRO 4500 Blackwell](https://www.nvidia.com/en-us/products/workstations/professional-desktop-gpus/rtx-pro-4500/)
- [DGX B200](https://www.nvidia.com/en-us/data-center/dgx-b200/)
- [H200 NVL](https://www.nvidia.com/en-us/data-center/h200/)
- [H100 Tensor Core GPU](https://www.nvidia.com/en-us/data-center/h100/)
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/extraction/user-defined-functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ UDFs can be executed at different stages of the pipeline by specifying the `targ
- `broker_response` - Response message handling
- `otel_tracer` - OpenTelemetry tracing

> **Note:** For the complete and up-to-date list of pipeline stages, see the [default_pipeline.yaml](../../../config/default_pipeline.yaml) configuration file.
> **Note:** For the complete and up-to-date list of pipeline stages, see the [default_pipeline.yaml](https://github.com/NVIDIA/nv-ingest/blob/main/config/default_pipeline.yaml) configuration file.

#### Target Stage Selection Examples

Expand Down
3 changes: 1 addition & 2 deletions docs/docs/extraction/vlm-embed.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Use Multimodal Embedding with NeMo Retriever Library

This documentation describes how to use [NeMo Retriever Library](overview.md)
with the multimodal embedding model [Llama 3.2 NeMo Retriever Multimodal Embedding 1B](https://build.nvidia.com/nvidia/llama-3_2-nemoretriever-1b-vlm-embed-v1).
This guide explains how to use the [NeMo Retriever Library](overview.md) with the multimodal embedding model [Llama Nemotron Embed VL 1B v2](https://build.nvidia.com/nvidia/llama-nemotron-embed-vl-1b-v2).

The `Llama 3.2 NeMo Retriever Multimodal Embedding 1B` model is optimized for multimodal question-answering retrieval.
The model can embed documents in the form of an image, text, or a combination of image and text.
Expand Down
Loading