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

# Choosing Your Interface

> CLI, Chat, or API - pick the right tool

# Which Interface to Use

AI Training offers three ways to work. Pick based on your needs.

## Quick Comparison

| Interface | Best For        | What It Does                         |
| --------- | --------------- | ------------------------------------ |
| **CLI**   | Training models | Run training jobs, automation        |
| **Chat**  | Testing models  | Interactive chat with trained models |
| **API**   | Building apps   | Integrate training into applications |

## The Three Options

<CardGroup cols={3}>
  <Card title="CLI" href="/foundations/cli-when-to-use">
    **Training models**

    Type commands to train models. Perfect for automation and scripts.

    `aitraining llm --train ...`
  </Card>

  <Card title="Chat" href="/foundations/chat-when-to-use">
    **Testing models**

    Interactive browser interface to test trained models.

    `aitraining chat`
  </Card>

  <Card title="Python API" href="/foundations/api-when-to-use">
    **Building apps**

    Import and use in Python code.

    `from autotrain.trainers.clm import train`
  </Card>
</CardGroup>

## Simple Decision Guide

**Training a model?** → Use the CLI

**Testing a trained model?** → Use the Chat interface

**Building an application?** → Use the Python API

## Typical Workflow

Most users follow this pattern:

1. **Train with CLI** - `aitraining llm --train --model meta-llama/Llama-3.2-1B --data-path ./data`
2. **Test with Chat** - `aitraining chat` → open browser → try your model
3. **Iterate** - Adjust training, test again
4. **Deploy with API** - Integrate into your application

## They All Work Together

The interfaces complement each other:

* **CLI** handles the heavy lifting (training)
* **Chat** lets you verify results quickly
* **API** enables production integration

## Combining Interfaces

You're not locked into one:

1. **Train with CLI** → **Test with Chat** → **Deploy with API**
2. **Experiment with API** → **Automate with CLI**
3. **Quick test with Chat** → **Full training with CLI**

## Migration is Easy

The interfaces share the same underlying settings:

**CLI uses flags** → **API uses parameters**

```
CLI: --learning-rate 2e-5 --batch-size 4
API: learning_rate=2e-5, batch_size=4
```

Same values, different format.

## Next Steps

Ready to choose? Dive into your interface:

<CardGroup cols={3}>
  <Card title="When to Use CLI" href="/foundations/cli-when-to-use">
    Command line training
  </Card>

  <Card title="When to Use Chat" href="/foundations/chat-when-to-use">
    Testing models
  </Card>

  <Card title="When to Use API" href="/foundations/api-when-to-use">
    Python integration
  </Card>
</CardGroup>
