Skip to main content

LlamaIndex Postprocessor Integration: NVIDIA NIM Microservices

The llama-index-postprocessor-nvidia-rerank package contains LlamaIndex integrations for building applications with NVIDIA NIM microservices. With the NVIDIA postprocessor connector, you can use a reranking NIM to rerank processed data.

NVIDIA NIM supports models across domains like chat, embedding, and re-ranking, from the community as well as from NVIDIA. Each model is optimized by NVIDIA to deliver the best performance on NVIDIA-accelerated infrastructure and is packaged as a NIM, an easy-to-use, prebuilt container that deploys anywhere using a single command on NVIDIA accelerated infrastructure. At their core, NIM microservices are containers that provide interactive APIs for running inference on an AI Model.

NVIDIA-hosted deployments are available on the NVIDIA API catalog to test each NIM. After you explore, you can download NIM microservices from the API catalog, which is included with the NVIDIA AI Enterprise license. The ability to run models on-premises or in your own cloud gives your enterprise ownership of your customizations and full control of your IP and AI application.

Use this documentation to learn how to install the llama-index-postprocessor-nvidia-rerank package and use it to rerank parsed nodes.

Install the Package

To install the llama-index-postprocessor-nvidia-rerank package, run the following code.

pip install --upgrade llama-index llama-index-core llama-index-postprocessor-nvidia-rerank

Access the NVIDIA API Catalog

To get access to the NVIDIA API Catalog, do the following:

  1. Create a free account on the NVIDIA API Catalog and log in.

  2. Click your profile icon, and then click API Keys. The API Keys page appears.

  3. Click Generate API Key. The Generate API Key window appears.

  4. Click Generate Key. You should see API Key Granted, and your key appears.

  5. Copy and save the key as NVIDIA_API_KEY.

  6. To verify your key, use the following code.

    import getpass
    import os
    
    if os.environ.get("NVIDIA_API_KEY", "").startswith("nvapi-"):
        print("Valid NVIDIA_API_KEY already in environment. Delete to reset")
    else:
        nvapi_key = getpass.getpass("NVAPI Key (starts with nvapi-): ")
        assert nvapi_key.startswith(
            "nvapi-"
        ), f"{nvapi_key[:5]}... is not a valid key"
        os.environ["NVIDIA_API_KEY"] = nvapi_key
    

You can now use your key to access endpoints on the NVIDIA API Catalog.

Work with the API Catalog

The following example loads and parses data, and then calls the reranking NIM.

from llama_index.postprocessor.nvidia_rerank import NVIDIARerank

from llama_index.core import Document
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core.node_parser import SentenceSplitter, SimpleFileNodeParser

# Load your API key from an environment variable
my_key = os.environ["NVIDIA_API_KEY"]

# Load documents
documents = SimpleDirectoryReader("/path_to_your_data_folder").load_data()

# Set the reranker to use the API Catalog's default reranker model
rerank = NVIDIARerank()

# Parse data into nodes
parser = SentenceSplitter(separator="\n", chunk_size=200, chunk_overlap=0)
nodes = parser.get_nodes_from_documents(documents)

# Rerank the nodes
rerank.postprocess_nodes(nodes, query_str="What is the capital of France?")

Available Models

You can querying available_models to get a list of the models available with your API credentials. For details about each model, refer to Models.

from llama_index.postprocessor.nvidia_rerank import NVIDIARerank

rerank.available_models

Self-host with NVIDIA NIM Microservices

When you are ready to deploy your AI application, you can self-host models with NVIDIA NIM. For more information, refer to NVIDIA AI Enterprise.

The following example code connects to a locally-hosted NIM Microservice.

from llama_index.postprocessor.nvidia_rerank import NVIDIARerank

# connect to a reranking NIM running at localhost:1976
rerank = NVIDIARerank(base_url="http://localhost:1976/v1")

Use Your Own Custom HTTP Client

If you need more control over HTTP settings, such as timeouts, proxies, and retries, you can use your own custom HTTP client. Use the following code to pass an instance of your HTTP client to the NVIDIARerank initializer.

import httpx
from llama_index.postprocessor.nvidia_rerank import NVIDIARerank

# Create a custom httpx client with a 10-second timeout
custom_client = httpx.Client(timeout=10.0)

# Pass the custom client to the reranker
rerank = NVIDIARerank(
    base_url="http://localhost:1976/v1", http_client=custom_client
)

Metadata

Release files for llama-index-postprocessor-nvidia-rerank 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for llama-index-postprocessor-nvidia-rerank 0.7.0
File Size Uploaded Provenance Actions
llama_index_postprocessor_nvidia_rerank-0.7.0.tar.gz 9.4 kB Without provenance Details for llama_index_postprocessor_nvidia_rerank-0.7.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for llama-index-postprocessor-nvidia-rerank 0.7.0
File Interpreter ABI Platform Actions
llama_index_postprocessor_nvidia_rerank-0.7.0-py3-none-any.whl Python 3 none any Details for llama_index_postprocessor_nvidia_rerank-0.7.0-py3-none-any.whl

Total release size: 18.9 kB

Release files / llama_index_postprocessor_nvidia_rerank-0.7.0.tar.gz

Download URL llama_index_postprocessor_nvidia_rerank-0.7.0.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
0b6923394e5942890b510dc3b35ee76dbd3797038ad2ff4fac8c2c5e684c5530
BLAKE2b-256 checksum
How to use checksums
a237d5732fcf3282ae8976f7adfce7a3daabf449480db4f0a39308b606f91967
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / llama_index_postprocessor_nvidia_rerank-0.7.0-py3-none-any.whl

Download URL llama_index_postprocessor_nvidia_rerank-0.7.0-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2676375f49ecb43914b89119d53a55b4bfbd8f774ef6b2f7224de04e59638da
BLAKE2b-256 checksum
How to use checksums
eec0684f2a36351c798dba382dd764410806a9640045339ab250a4fe8c7bd76f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for llama-index-postprocessor-nvidia-rerank 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page