NIM Inference#
NVIDIA Inference Microservices (NIMs) let us package and deploy structured data models behind an HTTP API for enterprise applications. While the in-context learning interface of this package runs models in the application’s Python process, a NIM runs model execution in a separate GPU service, and applications send structured prediction requests to it over HTTP. Thus, an application can call the model without loading its weights or managing a GPU runtime.
From SDM to NIM#
NIMs for structured data models follow SDM’s unified prediction interface. We have published the following NIMs:
Model ID |
Model |
NVIDIA Build |
NGC Catalog |
|---|---|---|---|
|
|||
|
The NIM API#
NIMs for structured data models provide the following endpoints:
Method |
Path |
Purpose |
|---|---|---|
|
|
Check whether the service is running. |
|
|
Check whether the model is ready to serve. |
|
|
List the model IDs served by the deployment. |
|
|
Send context and query data for one prediction call. |
|
|
Retain context for subsequent prediction calls. |
|
|
Predict using context retained in a session. |
|
|
Release a session. |
The prediction API mirrors sdm.models.ICLModel.forward(), with inputs expressed as JSON payloads.
The main request fields are:
Field |
Meaning |
|---|---|
|
The served model ID, such as |
|
The prediction task. |
|
Column types and relationships between tables. |
|
Context data. |
|
Query data. |
|
Requested results, such as predictions, class probabilities, or quantiles. |
NIM sessions support workflows similar to fit() and predict(), caching context examples and model state for repeated prediction calls.
Separate sessions allow multiple tenants to reuse the same deployment while maintaining their own prediction contexts.
See the Kumo Tabular NIM reference and Kumo Relational NIM reference for the full request and response schemas.
Python Client#
Applications can call deployed NIMs for structured data models from Python using the structured-data-models-client package.
The client prepares structured prediction requests and handles the results, while inference runs in the deployed NIM.
See its documentation for installation instructions and usage examples.
Data preparation may run in an application, a Databricks notebook, or a job reading Snowflake or another database.
The structured-data-models-client uses data connectors to assemble the input tables under your existing data permissions, then sends those records to a reachable NIM endpoint.
Data access and model deployment can be configured independently.
For example, an application can read Snowflake tables and call a NIM running in your data center.