> ## Documentation Index
> Fetch the complete documentation index at: https://internal.nolano.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Start building foundation models in minutes

## Quick Start Guide

Get your first foundation model training in under an hour with these simple steps.

<Note>
  **Two Ways to Work with Nolano AI**: This guide shows both the *Python SDK* (`pynolano`) for creating configuration files and the *CLI* (`nolano`) for executing operations. Both work together seamlessly - you write configs with the SDK and run them with the CLI.
</Note>

<Steps>
  <Step title="Prepare Your Data">
    Nolano.AI handles all data preprocessing with a single command. Here's a minimal config example for text data:

    <Note>
      **Data Formats**: Make sure your data follows the supported [data formats](/data-formats) for your specific modality.
    </Note>

    ```python data_config.py theme={null}
    from pynolano import DataPreparationConfig

    def build() -> DataPreparationConfig:
        return DataPreparationConfig(
            input_path = "./raw_data", # Can also be a readable  stream
            output_path = "./prepared_data",
            tokenization = "Qwen/Qwen3-4B",
        )
    ```

    Run data preparation:

    ```bash theme={null}
    nolano prepare_data data_config.py
    ```
  </Step>

  <Step title="Train Your Model">
    Create a simple training configuration:

    ```python train_config.py theme={null}
    from pynolano import DataConfig, OptimizationConfig, ExperimentConfig, ModelConfig

    def build() -> ExperimentConfig:
        return ExperimentConfig(
            data_configs=DataConfig(data_paths="./prepared_data"),
            model_config=ModelConfig("Qwen/Qwen3-4B"),
            optimization_config=OptimizationConfig(
                global_batch_size=32, 
                max_learning_rate=3e-4, 
                total_training_steps=1000
            )
        )
    ```

    Start training:

    ```bash theme={null}
    nolano train train_config.py
    ```

    That's it! Your model is now training with automatic:

    <CardGroup cols={2}>
      <Card title="Distributed Training" icon="server" color="#935095">
        Data parallelism across available GPUs

        → More details coming soon
      </Card>

      <Card title="Mixed Precision" icon="gauge" color="#B47BB6" href="/api-reference/model-config#modelconfig">
        Optimal performance with mixed precision training

        → See precision parameter
      </Card>

      <Card title="Checkpointing" icon="floppy-disk" color="#6F3A71" href="/api-reference/training-config#metaconfig">
        Checkpoint saving every epoch

        → See MetaConfig parameters
      </Card>

      <Card title="Metrics Logging" icon="chart-line" color="#935095" href="/api-reference/training-config#wandbconfig">
        Real-time metrics logging

        → See WandbConfig parameters
      </Card>
    </CardGroup>
  </Step>

  <Step title="Next Steps">
    After model training you can:

    <CodeGroup>
      ```bash Export to Hugging Face theme={null}
      nolano convert_to_hf ./checkpoints/global_step_1000 config.yaml ./hf_model
      ```

      ```bash Run Evaluation theme={null}
      nolano evaluate eval_config.py
      ```

      ```bash Run Inference theme={null}
      nolano infer model_path input_data
      ```
    </CodeGroup>
  </Step>
</Steps>

<Tip>
  Need help?  reach out to [support](mailto:hello@nolano.ai).
</Tip>
