You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge upstream/main into docs/backport-2194-extraction-docs-fix
Resolve audio-video.md by keeping PR deploy-trim prose with main's
create_ingestor example, ffmpeg step, and workflow link. Keep
custom-metadata.md deleted; vdbs.md redirect covers deep links.
**Important: The default branch is main, which tracks active development and may be ahead of the latest supported release.**
8
8
9
-
For the latest release line use the [26.05 branch](https://github.com/NVIDIA/NeMo-Retriever/tree/26.05) (RC builds are tagged `26.05-RC1`, `26.05-RC2`, …). The previous stable line is [26.03](https://github.com/NVIDIA/NeMo-Retriever/tree/26.03).
9
+
For the latest supported release, use the [26.05 branch](https://github.com/NVIDIA/NeMo-Retriever/tree/26.05) (GA PyPI and Helm chart version `26.5.0`). The previous stable line is [26.03](https://github.com/NVIDIA/NeMo-Retriever/tree/26.03).
10
10
11
11
See the corresponding [NeMo Retriever Library documentation](https://docs.nvidia.com/nemo/retriever/latest/extraction/overview/).
Copy file name to clipboardExpand all lines: docs/docs/extraction/audio-video.md
+27-25Lines changed: 27 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Use this page for speech and audio extraction with Parakeet ASR and for video workflows that combine audio with OCR on frames or derived images.
4
4
5
-
For air-gapped or disconnected deployments, see[Air-gapped and disconnected deployment](deployment-options.md#air-gapped-deployment).
5
+
For air-gapped or disconnected deployments, refer to[Air-gapped and disconnected deployment](deployment-options.md#air-gapped-deployment).
6
6
7
7
**Sections:**[Speech and audio (Parakeet)](#speech-and-audio-extraction) · [Run Parakeet on the cluster (Helm)](#run-parakeet-on-the-cluster-helm) · [Parakeet with hosted inference (build.nvidia.com)](#parakeet-hosted-inference-build-nvidia) · [Video and frame OCR](#video-and-frame-ocr)
-`mp4`, `mov`, `mkv`, `avi` — common video containers; the audio track is transcribed (same extensions as in [What is NeMo Retriever Library?](overview.md))
20
20
21
-
[NeMo Retriever Library](overview.md) supports extracting speech from audio for Retrieval Augmented Generation (RAG). Similar to how the multimodal document pipeline uses detection and OCR microservices, NeMo Retriever Library uses the [parakeet-1-1b-ctc-en-us ASR NIM](https://docs.nvidia.com/nim/speech/latest/asr/deploy-asr-models/parakeet-ctc-en-us.html) to transcribe speech to text, then embeddings via the NeMo Retriever embedding path.
21
+
[NeMo Retriever Library](overview.md) supports extracting speech from audio for Retrieval Augmented Generation (RAG). Similar to how the multimodal document pipeline uses detection and OCR microservices, NeMo Retriever Library uses the [parakeet-1-1b-ctc-en-us ASR NIM](https://docs.nvidia.com/nim/speech/latest/asr/deploy-asr-models/parakeet-ctc-en-us.html) to transcribe speech to text, then embeddings through the NeMo Retriever embedding path.
22
22
23
23
Before running audio extraction from Python with either self-hosted or hosted Parakeet, install the multimedia extra so the Parakeet ASR client can decode and resample audio:
24
24
@@ -48,63 +48,64 @@ For Kubernetes deployments with network access to package repositories, set
to install ffmpeg/ffprobe at service startup. This runtime path requires
50
50
package-repository network egress, a writable root filesystem, and a security
51
-
policy that allows the image's scoped sudo use. For air-gapped clusters, see
51
+
policy that allows the image's scoped sudo use. For air-gapped clusters, refer to
52
52
[Air-gapped and disconnected deployment](deployment-options.md#air-gapped-deployment).
53
53
54
54
!!! important
55
55
56
56
Due to limitations in available VRAM controls in the current release, the parakeet-1-1b-ctc-en-us ASR NIM must run on a [dedicated additional GPU](prerequisites-support-matrix.md#model-hardware-requirements). For the full list of requirements, refer to the [Pre-Requisites & Support Matrix](prerequisites-support-matrix.md#model-hardware-requirements).
57
57
58
-
This pipeline enables retrieval at the speech segment level when you enable segmenting (see examples below).
58
+
This pipeline enables retrieval at the speech segment level when you enable segmenting (refer to the examples below).
59
59
60
60

61
61
62
62
## Run Parakeet on the cluster (Helm) { #run-parakeet-on-the-cluster-helm }
63
63
64
-
Use the following procedure for self-hosted Parakeet on your cluster. For chart enablement, GPU placement, ffmpeg, and endpoint wiring, see[Optional Helm NIMs](prerequisites-support-matrix.md#optional-helm-nims-not-auto-wired-by-default) and [Audio and video (Parakeet ASR)](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md#audio-video-parakeet) in the Helm chart README, plus [Deployment options](deployment-options.md).
64
+
Use the following procedure for self-hosted Parakeet on your cluster. For chart enablement, GPU placement, ffmpeg, and endpoint wiring, refer to[Optional Helm NIMs](prerequisites-support-matrix.md#optional-helm-nims-not-auto-wired-by-default) and [Audio and video (Parakeet ASR)](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md#audio-video-parakeet) in the Helm chart README, plus [Deployment options](deployment-options.md).
65
65
66
66
1. Deploy or upgrade per that Helm guide and [Deployment options](deployment-options.md).
67
67
68
-
2.After the services are running, interact with the pipeline from Python.
68
+
2.If the service will process audio or video files, set `service.installFfmpeg=true` in the Helm chart when your cluster allows runtime package installation; for air-gapped clusters, refer to [Air-gapped and disconnected deployment](deployment-options.md#air-gapped-deployment) and the [Helm chart README](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/helm/README.md#1-service-image) for `service.image` overrides.
69
69
70
-
- The `Ingestor` object initializes the ingestion process.
71
-
- The `files` method specifies the input files to process.
3. After the services are running, interact with the pipeline from Python (refer to the [Python API guide](nemo-retriever-api-reference.md) for parameter details).
71
+
72
+
-In `batch` mode, pass the in-cluster Parakeet gRPC endpoint through `ASRParams.audio_endpoints` (for example `audio:50051` from your Helm release). The retriever service auto-wires this endpoint; graph ingest does not.
73
73
74
74
```python
75
+
from nemo_retriever import create_ingestor
75
76
from nemo_retriever.params.models import ASRParams
To generate one extracted element for each sentence-like ASR segment, pass`asr_params=ASRParams(segment_audio=True)` to `.extract_audio(...)`. This option applies when audio extraction runs with a self-hosted Parakeet NIMor using build.nvidia.com hosted inference, but has no effect when using the local Hugging Face Parakeet model.
91
+
To generate one extracted element for each sentence-like ASR segment, pass`asr_params=ASRParams(segment_audio=True)` to `.extract_audio(...)`. This option applies when audio extraction runs with a self-hosted Parakeet NIMor using build.nvidia.com hosted inference, but has no effect when using the local Hugging Face Parakeet model.
87
92
88
-
For more Python examples, refer to [Python Quick Start Guide](https://github.com/NVIDIA/NeMo-Retriever/blob/main/client/client_examples/examples/python_client_usage.ipynb).
93
+
For more runnable examples, refer to [Workflow: Ingest documents](workflow-document-ingestion.md).
89
94
90
95
## Parakeet with hosted inference (build.nvidia.com) { #parakeet-hosted-inference-build-nvidia }
91
96
92
97
Instead of running the pipeline locally, you can call Parakeet through [build.nvidia.com](https://build.nvidia.com/) hosted inference.
93
98
94
99
1. On the Parakeet model page on [build.nvidia.com](https://build.nvidia.com/), create or copy an API key and note the function IDfor hosted access. You need both before making API calls.
95
100
96
-
2. Run inference from Python with the hosted gRPC endpoint and credentials from that page (the example below uses the default hosted gRPC hostname; confirm values in the **Get API Key** flow for your deployment).
97
-
98
-
- The `Ingestor`object initializes the ingestion process.
99
-
- The `files` method specifies the input files to process.
100
-
- The `extract_audio` method runs audio extraction.
101
-
- The hosted gRPC endpoint, function ID, andAPI key are routed through `ASRParams`. Pass them via `asr_params=ASRParams(...)`; the ASR actor reads `audio_endpoints`, `function_id`, and`auth_token`from that object.
101
+
2. Run inference from Python with the hosted gRPC endpoint and credentials from that page (the example below uses the default hosted gRPC hostname; confirm values in the **Get API Key** flow for your deployment). Pass hosted endpoint, function ID, andAPI key through `ASRParams` (`audio_endpoints`, `function_id`, `auth_token`).
102
102
103
103
```python
104
+
from nemo_retriever import create_ingestor
104
105
from nemo_retriever.params.models import ASRParams
105
106
106
107
ingestor = (
107
-
Ingestor()
108
+
create_ingestor(run_mode="batch")
108
109
.files("./data/*.mp3")
109
110
.extract_audio(
110
111
asr_params=ASRParams(
@@ -115,21 +116,22 @@ Instead of running the pipeline locally, you can call Parakeet through [build.nv
115
116
),
116
117
)
117
118
)
119
+
results = ingestor.ingest()
118
120
```
119
121
120
122
!!! tip
121
123
122
-
For more Python examples, refer to [Python Quick Start Guide](https://github.com/NVIDIA/NeMo-Retriever/blob/main/client/client_examples/examples/python_client_usage.ipynb).
124
+
For more runnable examples, refer to [Workflow: Ingest documents](workflow-document-ingestion.md).
123
125
124
126
## Video and frame OCR { #video-and-frame-ocr }
125
127
126
-
For video assets, NeMo Retriever Library can combine audio or speech processing (see [Speech and audio extraction](#speech-and-audio-extraction) above) with visual text extraction when OCR applies to frames or derived images.
128
+
For video assets, NeMo Retriever Library can combine audio or speech processing (refer to [Speech and audio extraction](#speech-and-audio-extraction) above) with visual text extraction when OCR applies to frames or derived images.
127
129
128
-
For OCR-oriented extract methods on scanned or image-heavy content, see [OCRand scanned documents](multimodal-extraction.md#ocr-and-scanned-documents), [text and layout extraction](multimodal-extraction.md#text-and-layout-extraction), and [Nemotron Parse](https://build.nvidia.com/nvidia/nemotron-parse) for advanced visual parsing.
130
+
For OCR-oriented extract methods on scanned or image-heavy content, refer to [OCRand scanned documents](multimodal-extraction.md#ocr-and-scanned-documents), [text and layout extraction](multimodal-extraction.md#text-and-layout-extraction), and [Nemotron Parse](https://build.nvidia.com/nvidia/nemotron-parse) for advanced visual parsing.
129
131
130
-
Container formats and early-access video types are listed under [supported file types and formats](multimodal-extraction.md#supported-file-types-and-formats) (see [What is NeMo Retriever Library?](overview.md) for the full list).
132
+
Container formats and early-access video types are listed under [supported file types and formats](multimodal-extraction.md#supported-file-types-and-formats) (refer to [What is NeMo Retriever Library?](overview.md) for the full list).
131
133
132
-
For end-to-end RAG stacks that include multimodal ingestion, see the [NVIDIAAI Blueprints catalog](https://build.nvidia.com/explore/discover) and related solution pages on [NVIDIA Build](https://build.nvidia.com/).
134
+
For end-to-end RAG stacks that include multimodal ingestion, refer to the [NVIDIAAI Blueprints catalog](https://build.nvidia.com/explore/discover) and related solution pages on [NVIDIA Build](https://build.nvidia.com/).
Copy file name to clipboardExpand all lines: docs/docs/extraction/embedding.md
+16-10Lines changed: 16 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
!!! note "Text-only NeMo Retriever embedding NIM"
4
4
5
-
You can still use the NeMo Retriever text embedding NIM (OpenAI-compatible embeddings for passage and query vectors) alongside or instead of the multimodal flows on this page. Product and deployment details are in the [NeMo Retriever Text Embedding NIM documentation](https://docs.nvidia.com/nim/nemo-retriever/text-embedding/latest/overview.html). In library and CLI pipelines, route embedding to that NIM with your configured `embed` / invoke URL and model name (see the [graph pipeline examples](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/README.md) for environment-based remote inference).
5
+
You can still use the NeMo Retriever text embedding NIM (OpenAI-compatible embeddings for passage and query vectors) alongside or instead of the multimodal flows on this page. Product and deployment details are in the [NeMo Retriever Text Embedding NIM documentation](https://docs.nvidia.com/nim/nemo-retriever/text-embedding/latest/overview.html). In library and CLI pipelines, route embedding to that NIM with your configured embed endpoint and model name (refer to the [graph pipeline examples](https://github.com/NVIDIA/NeMo-Retriever/blob/main/nemo_retriever/README.md) for environment-based remote inference).
6
6
7
7
This documentation describes how to use [NeMo Retriever Library](overview.md)
8
8
with the multimodal embedding model [Llama Nemotron Embed VL 1B v2](https://build.nvidia.com/nvidia/llama-nemotron-embed-vl-1b-v2).
@@ -12,6 +12,7 @@ The model can embed documents in the form of an image, text, or a combination of
12
12
Documents can then be retrieved given a user query in text form.
13
13
The model supports images that contain text, tables, charts, and infographics.
14
14
15
+
Parameter details for `.extract()` and `.embed()` appear in the [Python API guide](nemo-retriever-api-reference.md).
15
16
16
17
## Example with Default Text-Based Embedding
17
18
@@ -21,27 +22,31 @@ The following example provides a strong baseline for retrieval.
21
22
- The `embed` method is called with no arguments.
22
23
23
24
```python
25
+
from nemo_retriever import create_ingestor
26
+
24
27
ingestor = (
25
-
Ingestor()
28
+
create_ingestor(run_mode="batch")
26
29
.files("./data/*.pdf")
27
30
.extract()
28
-
.embed() # Default behavior embeds all content as text
31
+
.embed() # Default behavior embeds all content as text
29
32
)
30
33
results = ingestor.ingest()
31
34
```
32
35
33
36
34
37
## Example with Embedding Structured Elements as Text + Images
35
38
36
-
It is common to process PDFs by embedding standard text as text, and embed visual elements like tables and charts as images.
39
+
It is common to process PDFs by embedding standard text as text and embed visual elements such as tables and charts as images.
37
40
The following example enables the multimodal model to capture the spatial and structural information of the visual content.
38
41
39
42
- The `embed` method is configured with `embed_modality="text_image"` to embed the extracted tables and charts as images.
40
-
- This configuration is more accurate than text only with a performance cost
43
+
- This configuration is more accurate than text only, with a performance cost.
41
44
42
45
```python
46
+
from nemo_retriever import create_ingestor
47
+
43
48
ingestor = (
44
-
Ingestor()
49
+
create_ingestor(run_mode="batch")
45
50
.files("./data/*.pdf")
46
51
.extract()
47
52
.embed(
@@ -58,16 +63,18 @@ For documents where the entire page layout is important (such as infographics, c
58
63
you can configure NeMo Retriever Library to treat every page as a single image.
59
64
The following example extracts and embeds each page as an image.
60
65
61
-
- The `embed method` processes the page images.
66
+
- The `embed` method processes the page images.
62
67
63
68
```python
69
+
from nemo_retriever import create_ingestor
70
+
64
71
ingestor = (
65
-
Ingestor()
72
+
create_ingestor(run_mode="batch")
66
73
.files("./data/*.pdf")
67
74
.extract()
68
75
.embed(
69
76
embed_modality="image",
70
-
embed_granularity="page"
77
+
embed_granularity="page",
71
78
)
72
79
)
73
80
results = ingestor.ingest()
@@ -78,4 +85,3 @@ results = ingestor.ingest()
78
85
-[Pre-Requisites & Support Matrix](prerequisites-support-matrix.md)
-[How to add metadata to your documents and filter searches](https://github.com/NVIDIA/NeMo-Retriever/blob/main/examples/metadata_and_filtered_search.ipynb)
16
-
-[How to reindex a collection](https://github.com/NVIDIA/NeMo-Retriever/blob/main/examples/reindex_example.ipynb)
-[How to add metadata to your documents and filter searches](https://github.com/NVIDIA/NeMo-Retriever/blob/main/examples/nemo_retriever_retriever_query_metadata_filter.ipynb)
17
16
18
17
19
18
For more advanced scenarios, try one of the following notebooks:
20
19
21
20
-[Build a Custom Vector Database Operator](https://github.com/NVIDIA/NeMo-Retriever/blob/main/examples/building_vdb_operator.ipynb)
0 commit comments