Save Configurations#

Export your Data Designer configuration to files for reuse and sharing across projects. Save your column definitions, model configurations, and inference parameters as persistent configuration files.


Save to YAML File#

YAML format provides the most readable configuration files for manual editing and version control:

from nemo_microservices.beta.data_designer import DataDesignerConfigBuilder

# Build your configuration (after adding columns, models, etc.)
config = config_builder.build()

# Save to YAML file
config.to_yaml(path="my_config.yaml")

Using Path Objects#

from pathlib import Path

# Save with custom path
config_path = "configs/my_config.yaml"
config.to_yaml(path=config_path)

Save to JSON File#

JSON format works well with programmatic workflows and API integrations:

# Save to JSON file
config.to_json(path="my_config.json")

# Save with custom path
config.to_json(path="configs/my_config.json")

Get Configuration as Dictionary#

Export your configuration as a Python dictionary for programmatic use:

# Get configuration as dictionary
config_dict = config.to_dict()

Complete Save Example#

Here’s a complete workflow showing configuration creation and saving:

import os
from pathlib import Path
from nemo_microservices.beta.data_designer import DataDesignerConfigBuilder

# Create configuration
config_builder = DataDesignerConfigBuilder(
    model_configs=[
        P.ModelConfig(
            alias="main-model",
            model=P.Model(
                    api_endpoint=P.ApiEndpoint(
                        model_id="meta/llama-3.3-70b-instruct",
                        url="https://integrate.api.nvidia.com/v1",
                        api_key="your-api-key"
                    )
                ),
            inference_parameters=P.InferenceParameters(
                temperature=0.90,
                top_p=0.99,
                max_tokens=2048,
            ),
        ),
        
    ]
)

# Add some columns to your configuration
config_builder.add_column(
    C.SamplerColumn(
        name="topic",
        type=P.SamplerType.CATEGORY,
        params=P.CategorySamplerParams(
            values=["Technology", "Science", "Health"]
        )
    )
)

config_builder.add_column(
    C.LLMTextColumn(
        name="article",
        prompt="Write a short article about {{ topic }}",
        model_alias="main-model"
    )
)

config = config_builder.build()

# Create configs directory if it doesn't exist
configs_dir = Path("configs")
configs_dir.mkdir(exist_ok=True)

# Save in multiple formats
config.to_yaml(path=configs_dir / "article_generation.yaml")
config.to_json(path=configs_dir / "article_generation.json")