# Getting Started

Fleet is a developer platform for fine-tuning and deploying AI models on cloud GPUs. Write local Python, point it at a model and dataset, and Fleet handles the rest: provisioning, storage, and serving.

## Install

```bash
pip install fleethq
```

Requires Python 3.10 or later.

## Authenticate

Run the login command and follow the browser prompt:

```bash
fleet login
```

Your credentials are saved locally and picked up automatically by the SDK. You can also pass an API key directly:

```python
from fleet import Fleet

client = Fleet(api_key="fleet_sk_...")
```

## Your first training job

```python
from fleet import Fleet

client = Fleet()

# Upload a base model from HuggingFace
model = client.models.from_huggingface("meta-llama/Llama-3.2-1B")

# Upload a training dataset
dataset = client.datasets.upload("./train.jsonl")

# Fine-tune on a GPU
job = model.train(
    dataset,
    hardware="fleet:standard",
    hyperparameters={"METHOD": "lora", "NUM_EPOCHS": 3},
)

job.monitor()  # stream live progress until complete
```

When the job completes, retrieve and deploy the fine-tuned model:

```python
fine_tuned = job.model()
endpoint = fine_tuned.deploy(hardware="fleet:economy")
print(endpoint.infer("Hello!"))
```

That's the whole loop: **upload → train → deploy → infer.**

## Upload your own model

If you have a model directory locally instead of a HuggingFace repo:

```python
model = client.models.upload("./my-model/")
```

Fleet computes a content hash before uploading. If you upload the same model twice, the second call returns instantly.
