Text Ranking
sentence-transformers
Safetensors
Transformers
mistral3
text-classification
reranker
cross-encoder
visual-document-retrieval
multimodal reranking
semantic-search
rag
vllm
custom_code
Instructions to use nvidia/Nemotron-3.5-Rerank-8B-BF16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use nvidia/Nemotron-3.5-Rerank-8B-BF16 with sentence-transformers:
from sentence_transformers import CrossEncoder model = CrossEncoder("nvidia/Nemotron-3.5-Rerank-8B-BF16", trust_remote_code=True) query = "Which planet is known as the Red Planet?" passages = [ "Venus is often called Earth's twin because of its similar size and proximity.", "Mars, known for its reddish appearance, is often referred to as the Red Planet.", "Jupiter, the largest planet in our solar system, has a prominent red spot.", "Saturn, famous for its rings, is sometimes mistaken for the Red Planet." ] scores = model.predict([(query, passage) for passage in passages]) print(scores) - Transformers
How to use nvidia/Nemotron-3.5-Rerank-8B-BF16 with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForSequenceClassification processor = AutoProcessor.from_pretrained("nvidia/Nemotron-3.5-Rerank-8B-BF16", trust_remote_code=True) model = AutoModelForSequenceClassification.from_pretrained("nvidia/Nemotron-3.5-Rerank-8B-BF16", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Download model.py from nvidia/Nemotron-3.5-Rerank-8B-BF16: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/nvidia/Nemotron-3.5-Rerank-8B-BF16/resolve/main/model.py
- Command line
-
hf download hf://nvidia/Nemotron-3.5-Rerank-8B-BF16/model.py
-
curl -L -o model.py https://huggingface.co/nvidia/Nemotron-3.5-Rerank-8B-BF16/resolve/main/model.py
1.64 kB
| # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |
| # SPDX-License-Identifier: OpenMDW-1.1 | |
| import torch | |
| from torch import nn | |
| from transformers import Mistral3Config, Mistral3Model | |
| from transformers.models.mistral3.modeling_mistral3 import Mistral3PreTrainedModel | |
| from transformers.modeling_outputs import SequenceClassifierOutputWithPast | |
| from transformers.conversion_mapping import register_checkpoint_conversion_mapping, WeightRenaming | |
| class Mistral3ForSequenceClassification(Mistral3PreTrainedModel): | |
| config_class = Mistral3Config | |
| base_model_prefix = "model" | |
| def __init__(self, config): | |
| super().__init__(config) | |
| self.model = Mistral3Model(config) | |
| self.score = nn.Linear(config.text_config.hidden_size, 1, bias=False) | |
| self.post_init() | |
| def forward(self, input_ids=None, attention_mask=None, pixel_values=None, image_sizes=None, position_ids=None, **kwargs): | |
| outputs = self.model(input_ids=input_ids, attention_mask=attention_mask, pixel_values=pixel_values, image_sizes=image_sizes, position_ids=position_ids, **kwargs) | |
| hidden = outputs.last_hidden_state | |
| pooled = hidden.masked_fill(~attention_mask[..., None].bool(), 0).sum(1) / attention_mask.sum(1)[:,None] | |
| logits = torch.nn.functional.linear(pooled.float(), self.score.weight.float()) | |
| return SequenceClassifierOutputWithPast(logits=logits) | |
| register_checkpoint_conversion_mapping( | |
| 'Mistral3ForSequenceClassification', | |
| [WeightRenaming(source_patterns=r'^language_model\.score\.weight$', target_patterns='score.weight')], | |
| overwrite=True, | |
| ) | |