Skip to content

Conversation

@nabinchha
Copy link
Contributor

Part 1 of FTUE

  • Make info pipeline extensible across config and interface objects.
from data_designer.essentials import (
    DataDesigner,
    DataDesignerConfigBuilder,
    SamplerType,
    InfoType,
)

data_designer = DataDesigner()

# Display default model providers. At this point it will print out NVIDIA provider info
# If it detects `NVIDIA_API_KEY` is not present, a warning log message is printed out
data_designer.info.display(InfoType.MODEL_PROVIDERS)

config_builder = DataDesignerConfigBuilder(model_configs=data_designer.get_default_model_configs())

# Display all samplers 
config_builder.info.display(InfoType.SAMPLERS,)

# Display a specific sampler
config_builder.info.display(InfoType.SAMPLERS, sampler_type=SamplerType.BERNOULLI)

# Display model configs
config_builder.info.display(InfoType.MODEL_CONFIGS)

@github-actions
Copy link
Contributor

github-actions bot commented Nov 8, 2025

All contributors have signed the DCO ✍️ ✅
Posted by the DCO Assistant Lite bot.

Comment on lines 230 to 233
return get_default_nvidia_model_configs()

def get_default_model_providers(self) -> list[ModelProvider]:
return [get_default_nvidia_model_provider()]
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These will be updated in the next PR to pull from yml config files written by the cli.

@nabinchha nabinchha changed the title chore: (FTUE )Streamline mechanism to display info from DataDesignerConfigBuilder and DataDesignerInterface like objects chore: (FTUE ) Streamlined display mechanism for config builder and interface like objects Nov 8, 2025
@nabinchha
Copy link
Contributor Author

I have read the DCO document and I hereby sign the DCO.

@nabinchha
Copy link
Contributor Author

recheck

@nabinchha nabinchha changed the title chore: (FTUE ) Streamlined display mechanism for config builder and interface like objects chore: (FTUE ) updated display pipeline for builder and interface like objects Nov 8, 2025
@nabinchha
Copy link
Contributor Author

recheck

Comment on lines 252 to 253
alias="reasoning",
model="nvidia/llama-3.3-nemotron-super-49b-v1.5",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kirit93 – please chime in with thoughts on default models.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We all chatted offline to support multiple provider (nvidia, opena) to start with along with their model configs. It' all handled in this commit:

Behaviors:

  1. This displays the default model providers (nvidia and and openai). If the required API key cannot be found, it will show it's missing.
data_designer = DataDesigner()
data_designer.info.display(InfoType.MODEL_PROVIDERS)
Screenshot 2025-11-10 at 3 42 34 PM
  1. This displays the available default model configs based on which API keys were detected. In this example, only openai model configs were shown because nvidia api key could not be found. There's a warning that gets printed out as well.
config_builder = DataDesignerConfigBuilder(model_configs=data_designer.get_default_model_configs())
config_builder.info.display(InfoType.MODEL_CONFIGS)
Screenshot 2025-11-10 at 3 45 16 PM
  1. If both nvidia and openai models cannot be found, we'll see warnings for each of the keys not being found + additional warnings.
Screenshot 2025-11-10 at 3 48 01 PM

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@johnnygreco if you are cool with the above, let's get this merged in. We can further tweak the model names, etc in follow up PRs.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, sounds good. We can tweak in follow ups. One thought I had was to have get_default_model_configs take an argument ("nvidia" or "openai"), which we can default to "nvidia". That way we can only raise a warning for the appropriate API key when needed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea sounds good I'll get that in the next PR.

johnnygreco
johnnygreco previously approved these changes Nov 10, 2025
Comment on lines +46 to +54
@abstractmethod
def get_default_model_configs(self) -> list[ModelConfig]: ...

@abstractmethod
def get_default_model_providers(self) -> list[ModelProvider]: ...

@property
@abstractmethod
def info(self) -> InterfaceInfo: ...
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mikeknep just want to make sure you are are of these changes for the nmp dd client.

@nabinchha nabinchha merged commit aa22900 into main Nov 11, 2025
11 checks passed
@nabinchha nabinchha deleted the nm/better-error-if-nvidia-api-key-not-found branch November 11, 2025 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants