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

# Run the Multiply Example

> Run your first RL training loop with a starter Multiply example

This guide is the fastest post-onboarding path: copy the commands, run the included `multiply-local-openai` example, and submit one training run before customizing anything.

If you already have a dataset or task-specific rollout in mind, use [Create Your Own Rollout](/platform/create-your-own-rollout) instead.

<Note>
  This guide assumes you have completed [Onboarding](/platform/onboarding): your workspace repository is cloned, the CLI is installed and authenticated, and commands are running from the workspace directory.
</Note>

<Steps>
  <Step title="Verify workspace context">
    Confirm that the CLI can resolve your workspace before running the example:

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    osmosis doctor
    ```
  </Step>

  <Step title="Upload the dataset">
    Evaluation runs and training runs both reference platform datasets by name. Upload the dataset that ships with the starter example — both `configs/eval/multiply-local-openai.toml` and `configs/training/multiply-local-openai.toml` reference it as `multiply`:

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    osmosis dataset upload data/multiply.jsonl
    ```
  </Step>

  <Step title="Register the OpenAI secret">
    The starter evaluation run calls the OpenAI endpoint, so `[secrets]` in `configs/eval/multiply-local-openai.toml` maps `OPENAI_API_KEY` to a workspace secret record. Register that secret at `/:orgName/secrets` in the platform UI before submitting, so the platform can inject the key into the evaluation run container.
  </Step>

  <Step title="Push and submit an evaluation run">
    Push the repository so the platform can clone the rollout code, then submit an evaluation run:

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    git push
    osmosis eval submit configs/eval/multiply-local-openai.toml
    ```

    Inspect progress and results:

    ```cli theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    osmosis eval list
    osmosis eval info <eval-run-name>
    ```
  </Step>

  <Step title="Submit a training run">
    Once the evaluation run looks healthy, submit a training run:

    ```bash theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    osmosis train submit configs/training/multiply-local-openai.toml
    ```
  </Step>

  <Step title="Inspect and deploy">
    Monitor the run and deploy a LoRA model when it finishes:

    ```cli theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/cli.json"]}}
    osmosis train info <run-name>
    osmosis model deploy <lora-model-name>
    ```
  </Step>
</Steps>

At this point, you have run the full Osmosis loop with known-good code: dataset upload, evaluation run, training run submission, and deployment inspection. Use the rollout docs only after this works.

## Next Steps

<CardGroup cols={2}>
  <Card title="Create Your Own Rollout" icon="wand-magic-sparkles" href="/platform/create-your-own-rollout">
    Use project-local Agent Skills when you are ready to adapt Osmosis to your own task.
  </Card>

  <Card title="Training Runs" icon="play" href="/platform/training-runs">
    Learn about training configuration, statuses, and management.
  </Card>

  <Card title="Datasets" icon="database" href="/platform/datasets">
    Understand dataset formats and validation.
  </Card>

  <Card title="Models" icon="cube" href="/platform/models">
    Manage base models and deploy trained LoRA models.
  </Card>
</CardGroup>
