Execution Modes

View as Markdown

After building Data Designer configurations with the library’s data_designer.config APIs, you choose where the NeMo Data Designer plugin executes the workload.

The important distinction is not simply “local” versus “remote”. There are two separate questions:

AxisQuestionExamples
Execution locationWhere does the Data Designer workload run?In the local CLI process with run, or in NeMo Services with submit or the SDK.
Resource backendWhat does the configuration depend on?Local files, local provider settings, environment variables, or NeMo resources such as Filesets, Secrets, and Inference Gateway providers.

run versus submit primarily controls where the plugin workload execution happens. It does not necessarily determine whether the workload uses NeMo Services APIs.

nemo data-designer ... run can be fully local, but it is not an offline-only mode. A local run can still use the Files API, Secrets API, and Inference Gateway API from a running NeMo Services cluster when the configuration references the corresponding resources.

Terms

TermMeaning
Local executionThe Data Designer workload runs in the CLI process.
Local resourcesThe configuration uses local files, local provider settings, environment variables, or other resources available to the CLI process.
NeMo resourcesThe configuration uses resources in NeMo Services, such as Filesets, Secrets, or Inference Gateway providers.
NeMo Services executionThe Data Designer workload runs through the Data Designer API or a Jobs worker.
Local NeMo Services deploymentNeMo Services are running on your machine. This is still NeMo Services execution when you use submit or the SDK.

Execution Surfaces

InterfaceWorkload executionNeMo Services required?Resource behavior
nemo data-designer preview runLocal CLI processOptionalCan use local resources and/or NeMo resources.
nemo data-designer create runLocal CLI processOptionalCan use local resources and/or NeMo resources.
nemo data-designer preview submitData Designer APIYesUses resources supported by NeMo Services.
nemo data-designer create submitJobs workerYesUses resources supported by NeMo Services and job artifact storage.
client.data_designer.preview/createData Designer API or Jobs workerYesLocal SDK execution is planned but not available yet.

Resource Compatibility

Local CLI execution supports the broadest set of resource patterns because the workload runs in your Python environment.

Resource typeCLI runCLI submit / SDK today
Local seed files or DataFramesSupportedNot supported; upload to Filesets first.
HuggingFace seed datasetsSupportedSupported.
Files API FilesetsSupported when NeMo Services access is configuredSupported.
Local provider settingsSupportedNot supported; use Inference Gateway providers.
Inference Gateway providersSupported when NeMo Services access is configuredSupported.
Environment or plaintext secretsSupportedNot supported; use Secrets API secrets.
Secrets API secretsSupported when NeMo Services access is configuredSupported.

Choosing a Mode

Use CLI run when you want fast local iteration, direct access to local files, or library-equivalent workload behavior.

Use CLI submit when you want service-managed execution, job lifecycle tracking, shared artifacts, or the same execution environment other users and automation will use.

Use the SDK when you are writing application code that should call the Data Designer API programmatically. Today, the SDK path exclusively uses NeMo Services; use CLI run for local in-process execution.

If you run NeMo Services fully locally, submit and SDK calls can target that local deployment. The services are local, but the workload execution path still uses the Data Designer API and Jobs API.

Local NeMo Services Execution

To use submit or the SDK against a local NeMo Services deployment, run the services locally:

$nemo services run

Run this from an environment with the service components and the Data Designer plugin installed. In another terminal, run nemo setup or nemo setup --auto to register your provider, then use preview submit, create submit, or the SDK against http://localhost:8080.