NVIDIA Nemotron 3.5 brings open models for embedding, reranking and document parsing
NVIDIA has released Nemotron 3.5 Embed, Rerank and Parse with open weights. Together, the models form the search layer for RAG and agents: ingest documents, search them, rank the results. The license allows commercial use with no revenue cap.

What it's about
NVIDIA has updated its Nemotron Retriever family (formerly Nemotron RAG) from version 3.0 to 3.5 and released the weights openly on Hugging Face. There are three model types: Nemotron 3.5 Embed (three checkpoints), Nemotron 3.5 Rerank and Nemotron 3.5 Parse. According to the Model Card, Parse was released on October 17, 2026, and Embed and Rerank on October 20. The official announcement and a technical article followed on October 21. NVIDIA says all models are cleared for commercial and non-commercial use.
Three jobs before the language model comes in
What an AI agent knows is decided before the language model answers. The three models cover this upstream layer:
- Parse (631M parameters) turns document images into structured text, including layout classes, bounding boxes and reading order.
- Embed turns text and page images (tables, charts, infographics, datasheets) into vectors, which are lists of numbers you can use to compute similarity. That lets you search text and images together.
- Rerank is a cross-encoder with 8.38 billion parameters. It scores each query–document pair and re-sorts the results of the first search pass.
Details on the Embed model
Nemotron-3.5-Embed-8B-BF16 is a bi-encoder for multimodal, multilingual question-answering retrieval. Documents can be embedded as an image, as text, or as a combination of both; queries are text only. Text was evaluated in 34 languages (including German), images in 18. The vision component was initialized from Ministral-3-8B-Instruct-2512, while the language part comes from Nemotron-3-Embed-8B and is frozen. As a result, the model produces the same text embeddings as its predecessor; only the vision encoder and projector were trained. The context length is 32,768 tokens, and the output is a 4096-dimensional vector. You can truncate it to, say, 1024 or 512 dimensions if you re-normalize afterward. The default image edge length is 1,120 pixels, with a maximum of 1,540. Alongside the 8B, there is a distilled 1B Embed (BF16 and NVFP4).
The numbers, according to NVIDIA
All figures come from NVIDIA or its partners and have not been independently verified.
| Model | Result |
|---|---|
| Embed 8B | 61.17 nDCG@10 on ViDoRe v3.1, ranked first among dense retrieval models |
| Embed 1B | retains 95.4% of that score |
| Rerank | 60.49 vs. 59.17 (Qwen-3-VL-Reranker-8B) |
| Parse | 75.20 on ParseBench, 10.5 pages/s on one H100; predecessor 63.91 |
Further claims: the quantized 1B embedding delivers 27.1% more throughput on GB200 at 99.85% of the accuracy. The NIM serving path handles 6,031 requests per second, versus 2,099 on a comparable vLLM setup. In an agent test, Rerank cuts token costs per request by about 14% (with Embed 8B) or 13% (with Embed 1B) while improving retrieval accuracy. Partners report similar results: Perplexity saw the reranker ahead on average on a private 72-task benchmark, Turbopuffer saw roughly 5% more relevant hits at Recall@20, and Elastic integrates the models through its Inference API. Fine-tuning recipes are published, with gains of 18% (1B) and 3% (8B) on charts and infographics after one epoch.
What you need to try it
The Model Card example requires a CUDA GPU (BF16, FlashAttention 2), Python 3.12 and transformers==5.20.0. For the 8B Embed, plan on roughly 16–18 GB of VRAM (video memory) in BF16; the 1B Embed and Parse (631M) run on much smaller cards. The 8B Rerank needs about as much as the 8B Embed. The source doesn't mention CPU or Mac support; NVIDIA says the models are optimized for NVIDIA GPUs. Alternatively, there are NIM microservices on build.nvidia.com, as well as providers such as Baseten, DeepInfra, FriendliAI and OpenRouter.
License
The models are released under the OpenMDW License 1.1 with no revenue cap, with Apache-2.0 base components and an MIT tokenizer for Parse. Weights, data and training recipes are on Hugging Face.
Our take
For developers of RAG systems and agents, this is a toolkit covering document parsing, multimodal search and reranking under a permissive license. The claim that retrieval quality lowers token costs is interesting. The caveat: every benchmark and cost figure is a vendor claim on NVIDIA setups, and some partner tests are private. Independent comparisons, especially for German-language documents, are still missing.
Sources
- r/LocalLLaMA reddit.com
- Google News (FR) news.google.com
- Bing News (en-US) theregister.com
- Google News (FR) news.google.com
Try it yourself: Nemotron-3.5-Embed-8B
Explained step by step, no prior knowledge needed – on your own computer or free in your browser.
What can I do with it?
The model turns text and document pages as images (tables, charts, infographics) into vectors. You can use it to build search across many documents, for example for question-answering systems or RAG, including multilingual ones. Rerank and Parse add re-sorting of results and text recognition from page images.
Who is it worth it for?
Worth it for developers building document search or a RAG agent who have an NVIDIA GPU. It isn't meant for pure chat users without programming skills.
What your computer needs
Embed 1B is the pick for small GPUs and high throughput (it keeps 95.4% of the quality, according to NVIDIA); the NVFP4 variant is quantized for newer NVIDIA hardware. Embed 8B delivers the best quality and needs a larger GPU.
- The example needs a CUDA GPU; without one, the BF16 script fails.
- 8B in BF16 needs roughly 16–18 GB of VRAM.
- Maximum context length is 32,768 tokens; long inputs and large images use more memory.
- Default image edge length is 1,120 pixels, up to 1,540 possible.
- You can truncate the vectors (4096 dims) to 1024 or 512 to save space in your vector database.
How do I find out what my computer has?
- Windows: Press Ctrl + Shift + Esc → Task Manager → Performance tab → click GPU on the left. At the bottom you'll see Dedicated GPU memory (that's your VRAM). You'll find system memory under Memory.
- Mac: Apple menu at the top left → About This Mac. You'll see your chip (e.g. M2) and memory (e.g. 16 GB). On Apple chips, graphics and processor share this memory.
- Linux: Type
nvidia-smiin the terminal (shows your graphics card and its memory) andfree -hfor system memory.
Guide
This model runs with its developers' own program (NExTplusplus/TAT-DQA on GitHub). The commands below come from the Model Card and the developers' instructions.
Windows 10 / 11
Windows 10 / 11: not officially tested. The source only lists Linux commands and requires an NVIDIA graphics card (CUDA) plus FlashAttention 2. This is untested on Windows and often difficult. WSL2 (Linux on Windows) with the Linux steps is the safer route.
- Check the prerequisites. You need an NVIDIA graphics card with about 21 GB of VRAM (video memory) and a current NVIDIA driver. Install Python 3.12 and Git. You also need about 20 GB of free disk space.
python --version git --version nvidia-smi - Create a folder. Create a new, empty folder for the project and change into it.
mkdir nemotron-embed cd nemotron-embed - Create an environment. A virtual environment keeps the packages separate from the rest of your PC. If PowerShell blocks scripts, allow them for this session with the first command.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass python -m venv .venv .venv\Scripts\Activate.ps1 - Install the packages. This downloads PyTorch, Transformers and the FlashAttention kernels. It takes a few minutes. If PyTorch gets installed without CUDA, you need the CUDA build of PyTorch.
pip install torch "transformers==5.20.0" accelerate pillow pip install kernels pip install "sentence-transformers[image]==6.1.0" - Save the example script. Save this code as demo.py in the nemotron-embed folder.
from sentence_transformers import SentenceTransformer model = SentenceTransformer( "nvidia/Nemotron-3.5-Embed-8B-BF16", device="cuda", model_kwargs={"dtype": "bfloat16", "attn_implementation": "flash_attention_2"}, ) query = "What is NVIDIA NeMo Framework?" image_url = "https://docs.nvidia.com/nemo-framework/user-guide/24.07/_images/nemo-llm-mm-stack.png" nemo_text = "NeMo Framework offers comprehensive functionalities for developing both LLMs and Multimodal Models." biology_text = "A biological foundation model designed to analyze and generate DNA, RNA, and protein sequences." names = ["nemo_image_text", "nemo_text", "nemo_image", "biology_text"] documents = [ {"image": image_url, "text": nemo_text}, nemo_text, {"image": image_url}, biology_text, ] q = model.encode_query([query]) d = model.encode_document(documents, batch_size=1) scores = model.similarity(q, d) print(f"query_embedding.shape={q.shape}") print(f"document_embeddings.shape={d.shape}") for name, s in zip(names, scores[0]): print(f"{name}_similarity={s.item():.6f}") - Run it and load the model. On first run, the program downloads the model automatically (about 16.8 GB). This can take a while.
python demo.py - Result. The terminal shows the shape of the vectors (4096 values) and four similarity scores for the example documents.
macOS
macOS: not supported. The source's example fails with an error without an NVIDIA graphics card (CUDA). Macs have no CUDA support. Use a Linux PC with an NVIDIA card, a cloud machine (e.g. Colab with a GPU), or the smaller Nemotron-3.5-Embed-1B instead.
Linux
Linux: supported. The source lists Linux with an NVIDIA graphics card (CUDA), Python 3.12 and FlashAttention 2. AMD cards aren't mentioned in the source. Without a CUDA card, the example won't run.
- Check the prerequisites. You need Python 3.12, an NVIDIA graphics card with about 21 GB of VRAM (video memory) and a current NVIDIA driver. You also need about 20 GB of free disk space.
python3.12 --version nvidia-smi - Create a folder. Create a new, empty folder for the project and change into it.
mkdir nemotron-embed cd nemotron-embed - Create an environment. A virtual environment keeps the packages separate from the rest of your system.
python3.12 -m venv .venv source .venv/bin/activate - Install the packages. This downloads PyTorch, Transformers, prebuilt FlashAttention kernels and Sentence Transformers. It takes a few minutes.
pip install torch "transformers==5.20.0" accelerate pillow pip install kernels pip install "sentence-transformers[image]==6.1.0" - Save the example script. Save this code as demo.py in the nemotron-embed folder. It compares a question against four documents (text, image, both).
from sentence_transformers import SentenceTransformer model = SentenceTransformer( "nvidia/Nemotron-3.5-Embed-8B-BF16", device="cuda", model_kwargs={"dtype": "bfloat16", "attn_implementation": "flash_attention_2"}, ) query = "What is NVIDIA NeMo Framework?" image_url = "https://docs.nvidia.com/nemo-framework/user-guide/24.07/_images/nemo-llm-mm-stack.png" nemo_text = "NeMo Framework offers comprehensive functionalities for developing both LLMs and Multimodal Models." biology_text = "A biological foundation model designed to analyze and generate DNA, RNA, and protein sequences." names = ["nemo_image_text", "nemo_text", "nemo_image", "biology_text"] documents = [ {"image": image_url, "text": nemo_text}, nemo_text, {"image": image_url}, biology_text, ] q = model.encode_query([query]) d = model.encode_document(documents, batch_size=1) scores = model.similarity(q, d) print(f"query_embedding.shape={q.shape}") print(f"document_embeddings.shape={d.shape}") for name, s in zip(names, scores[0]): print(f"{name}_similarity={s.item():.6f}") - Run it and load the model. On first run, the program downloads the model automatically (about 16.8 GB). Then it computes the scores.
python demo.py - Check the output. You should see values like nemo_text_similarity around 0.59 and biology_text_similarity around 0.25. The higher the value, the better the document matches the question. Small deviations are normal.
- Result. The terminal shows the shape of the vectors (4096 values) and four similarity scores for the example documents.
Try it
What is NVIDIA NeMo Framework?What revenue trend does the chart on page 12 of the annual report show?How do I cancel a contract according to the terms and conditions documents?
If something goes wrong
Requires Python 3.12 and transformers==5.20.0; other versions may behave differently from the examples.
FlashAttention 2 must be built or installed via the kernels package.
Before searching, embed queries with the prefix 'query:' and documents with 'passage:'.
Re-apply L2 normalization after truncating the vectors.
“out of memory,” a crash, or your computer freezes
The model is too big for your VRAM (video memory). Pick a smaller variant from the table above and close other programs, especially games and browsers with lots of tabs.
It runs, but extremely slowly
Your CPU is probably doing the work instead of your graphics card. In Ollama, the PROCESSOR column of ollama ps shows how much runs on the GPU. If it says "100% CPU", update your graphics driver or pick a smaller variant that fits entirely into VRAM (video memory).
“ollama” or “python” is not found
Close the terminal window and open it again so it recognizes the newly installed program. For Python on Windows: reinstall it and check Add python.exe to PATH.
Windows: "Running scripts is disabled on this system"
Run the script with exactly the command above: powershell -ExecutionPolicy Bypass -File try_windows.ps1. This allows execution for this one time only.
Error message when loading the model (version, "trust_remote_code", unknown architecture)
Brand-new models often need the latest software version. With Ollama: update Ollama. With Python: pip install -U transformers in the activated environment. The Model Card usually lists the exact version.
Tokenstrom generates the scripts and notebook automatically. Please take a quick look before running them – they're plain, readable text. Mind the model's license: custom license (see Model Card).
Ask the AI assistant
Questions about this article, installation or background? Our assistant knows this page and runs on our own machine, not in someone else's cloud.
The Assistant is an AI (Gemma 4) and can make mistakes – please check important details against the source. Questions are used only to generate an answer and are deleted after one hour. Please don't enter any personal data.
Comments
What do you think? Already tried it? Write it here, no sign-up needed.
Comments are public. Links aren't allowed, and we delete abusive posts. You can delete your own comment at any time in this browser. Learn more in the Privacy Policy.