Skip to content

Commit 1c2271b

Browse files
authored
Upstream changes for v2.2.0 release (#35)
* Upstream changes for 2.2.0 release Signed-off-by: Shubhadeep Das <[email protected]>
1 parent 6d7f9d7 commit 1c2271b

File tree

141 files changed

+20580
-5381
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+20580
-5381
lines changed

.gitignore

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
# Python Exclusions
22
.venv
33
**__pycache__**
4+
src/nvidia_rag.egg-info/
5+
dist/*
46

57
# Helm Exclusions
68
**/helm-charts/*.tgz
79

810
# Docker Compose exclusions
911
deploy/compose/volumes
1012
uploaded_files/
13+
**tmp-data**
1114

1215
# Visual Studio Code
1316
.vscode
@@ -19,4 +22,60 @@ uploaded_files/
1922
docs/_*
2023

2124
# Notebook checkpoints
22-
notebooks/.ipynb_checkpoints
25+
**.ipynb_checkpoints**
26+
27+
# Ignore generated or temporary files managed by the Workbench
28+
.project/*
29+
!.project/spec.yaml
30+
!.project/configpacks
31+
32+
# General ignores
33+
.DS_Store
34+
35+
# Byte-compiled / optimized / DLL files
36+
__pycache__/
37+
*.py[cod]
38+
*$py.class
39+
40+
# Temp directories, notebooks created by jupyterlab
41+
.ipynb_checkpoints
42+
.Trash-*/
43+
.jupyter/
44+
.local/
45+
46+
# Python distribution / packaging
47+
.Python
48+
build/
49+
develop-eggs/
50+
dist/
51+
downloads/
52+
eggs/
53+
.eggs/
54+
lib/
55+
lib64/
56+
parts/
57+
sdist/
58+
var/
59+
wheels/
60+
share/python-wheels/
61+
*.egg-info/
62+
.installed.cfg
63+
*.egg
64+
MANIFEST
65+
66+
# Unit test / coverage reports
67+
htmlcov/
68+
.tox/
69+
.nox/
70+
.coverage
71+
.coverage.*
72+
.cache
73+
nosetests.xml
74+
coverage.xml
75+
*.cover
76+
*.py,cover
77+
.hypothesis/
78+
.pytest_cache/
79+
cover/
80+
81+
# Workbench Project Layout

.project/configpacks

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
*defaults.ContainerUser
2+
*bash.PreBuild
3+
*defaults.EnvVars
4+
*defaults.Readme
5+
*defaults.Entrypoint
6+
*apt.PackageManager
7+
*bash.PreLanguage
8+
*python.PipPackageManager
9+
*bash.PostBuild
10+
*jupyterlab.JupyterLab

.project/spec.yaml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
specVersion: v2
2+
specMinorVersion: 2
3+
meta:
4+
name: rag
5+
image: project-rag
6+
description: ""
7+
labels: []
8+
createdOn: "2024-12-06T19:19:11Z"
9+
defaultBranch: main
10+
layout: []
11+
environment:
12+
base:
13+
registry: nvcr.io
14+
image: nvidia/ai-workbench/python-basic:1.0.2
15+
build_timestamp: "20241001182612"
16+
name: Python Basic
17+
supported_architectures: []
18+
cuda_version: ""
19+
description: A Python Base with Jupyterlab
20+
entrypoint_script: ""
21+
labels:
22+
- ubuntu
23+
- python3
24+
- jupyterlab
25+
apps:
26+
- name: jupyterlab
27+
type: jupyterlab
28+
class: webapp
29+
start_command: jupyter lab --allow-root --port 8888 --ip 0.0.0.0 --no-browser --NotebookApp.base_url=\$PROXY_PREFIX --NotebookApp.default_url=/lab --NotebookApp.allow_origin='*'
30+
health_check_command: '[ \$(echo url=\$(jupyter lab list | head -n 2 | tail -n 1 | cut -f1 -d'' '' | grep -v ''Currently'' | sed "s@/?@/lab?@g") | curl -o /dev/null -s -w ''%{http_code}'' --config -) == ''200'' ]'
31+
stop_command: jupyter lab stop 8888
32+
user_msg: ""
33+
logfile_path: ""
34+
timeout_seconds: 60
35+
icon_url: ""
36+
webapp_options:
37+
autolaunch: true
38+
port: "8888"
39+
proxy:
40+
trim_prefix: false
41+
url_command: jupyter lab list | head -n 2 | tail -n 1 | cut -f1 -d' ' | grep -v 'Currently'
42+
programming_languages:
43+
- python3
44+
icon_url: https://workbench.download.nvidia.com/static/img/ai-workbench-icon-rectangle.jpg
45+
image_version: 1.0.5
46+
os: linux
47+
os_distro: ubuntu
48+
os_distro_release: "22.04"
49+
schema_version: v2
50+
user_info:
51+
uid: ""
52+
gid: ""
53+
username: ""
54+
package_managers:
55+
- name: apt
56+
binary_path: /usr/bin/apt
57+
installed_packages:
58+
- curl
59+
- git
60+
- git-lfs
61+
- python3
62+
- gcc
63+
- python3-dev
64+
- python3-pip
65+
- vim
66+
- name: pip
67+
binary_path: /usr/bin/pip
68+
installed_packages:
69+
- jupyterlab==4.2.4
70+
package_manager_environment:
71+
name: ""
72+
target: ""
73+
compose_file_path: deploy/workbench/compose.yaml
74+
execution:
75+
apps: []
76+
resources:
77+
gpu:
78+
requested: 0
79+
sharedMemoryMB: 0
80+
secrets:
81+
- variable: NGC_API_KEY
82+
description: NVIDIA API Key (starts with "nvapi-")
83+
mounts:
84+
- type: project
85+
target: /project/
86+
description: Project directory
87+
options: rw
88+
- type: volume
89+
target: /nvwb-shared-volume/
90+
description: ""
91+
options: volumeName=nvwb-shared-volume

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.12

CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,47 @@ All notable changes to this project will be documented in this file.
33
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
44

55

6+
## [2.2.0] - 2025-07-08
7+
8+
This release adds B200 platform support, a native Python API, and major enhancements for multimodal and metadata features. It also improves deployment flexibility and customization across the RAG blueprint.
9+
10+
### Added
11+
- Support deploying the blueprint on B200 platform.
12+
- Support for [native python API](./docs/python-client.md)
13+
- Refactoring code and directory to support python API
14+
- Better modularization for easier customization
15+
- Moved to `uv` as the package manager for this project
16+
- Added support for configurable vector store consistency levels (Bounded/Strong/Session) to optimize retrieval performance vs accuracy trade-offs.
17+
- [Capability to add custom metadata](./docs/custom-metadata.md) for files and metadata based filtering
18+
- Documentation of [using Multi Instance GPUs](./docs/mig-deployment.md). Reduces minimum GPU requirement for helm charts to 3xH100.
19+
- [Multi collection based retrieval](./docs/multi-collection-retrieval.md) support
20+
- [Audio files (.mp3 and .wav) support](./docs/audio_ingestion.md)
21+
- Support of using [Vision Language Model](./docs/vlm.md) based generation for charts and images
22+
- Support for [generating summaries](./docs/summarization.md) of uploaded files
23+
- Sample user interface enhancements
24+
- Support for non-blocking file upload
25+
- More efficient error reporting for ingestion failures
26+
- [Prompt customization](./docs/prompt-customization.md) support without rebuilding images
27+
- Added support to enable infographics, which improves accuracy for documents containing text in image format.
28+
- See [this guide](./docs/accuracy_perf.md#ingestion-and-chunking) for details
29+
- New customizations
30+
- How to support non nvingest based ingestion + retrieval
31+
- How to enable [CPU based milvus](./docs/milvus-configuration.md)
32+
- How to enable [nemoretriever-parse](./docs/nemoretriever-parse-extraction.md) as an alternate PDF parser
33+
- How to use [standalone nv-ingest python client](./docs/nv-ingest-standalone.md) to do ingestion
34+
- [Nvidia AI Workbench support](./deploy/workbench/)
35+
36+
### Changed
37+
- [Changed API schema](./docs/api_reference/) to support newly added features
38+
- POST /collections to be deprecated in favour of POST /collection for ingestor-server
39+
- New endpoint GET /summary added for rag-server
40+
- Metadata information available as part of GET /collections and GET /documents API
41+
- Check out [migration guide](./docs/migration_guide.md#migration-guide-rag-v210-to-rag-v220) for detailed changes at API level
42+
- [Optimized batch mode](./docs/accuracy_perf.md#ingestion-batch-mode-optimization) ingestion support to improve perf for multi user concurrent file upload.
43+
44+
### Known Issues
45+
Check out [this section](./docs/troubleshooting.md#known-issues) to understand the known issues present for this release.
46+
647
## [2.1.0] - 2025-05-13
748

849
This release reduces overall GPU requirement for the deployment of the blueprint. It also improves the performance and stability for both docker and helm based deployments.

0 commit comments

Comments
 (0)