> For the complete documentation index, see [llms.txt](https://docs.eyepop.ai/developer-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eyepop.ai/developer-documentation/cli/concepts.md).

# Concepts

Targets, deployments, instances, and datasets — the words the CLI uses

A **target** is what a run or evaluation uses. Targets are named by flags, and so is media: `run` takes it with `--media-path`. On a machine with an instance, a media-only run uses the instance's configured Pop.

### Runnable targets

| Target               | Meaning                                                                                   | Discover it with       |
| -------------------- | ----------------------------------------------------------------------------------------- | ---------------------- |
| **Model**            | A model alias and optional tag, such as `eyepop.person:latest`                            | `eyepop get models`    |
| **Configured model** | A model with a prompt, configuration, and output shape; called an ability by CLI commands | `eyepop get abilities` |
| **Pop**              | A named pipeline of one or more models                                                    | `eyepop get pops`      |
| **Session**          | A pipeline with compute and a UUID                                                        | `eyepop get sessions`  |

`run --model` accepts models and configured models. `run --pop` runs a Pop. `run --session` reuses an existing session.

### Ways to run

| Need                                      | Use             |
| ----------------------------------------- | --------------- |
| Try a target on media                     | A one-off `run` |
| Keep a target warm for an application     | A deployment    |
| Run on hardware you control               | An instance     |
| Score a configured model across a dataset | An evaluation   |

A **deployment** is a session that can be reused between runs. See [Persistent Deployments](/developer-documentation/cli/persistent-sessions.md).

An **instance** is the EyePop runtime configured on one machine you control. It serves one Pop at a time. See [On-Premise Instances](/developer-documentation/cli/on-premise.md).

### Datasets

A **dataset** is a named collection of media. Each item is an **asset** and may have **ground truth**, the expected result used by an evaluation. A **partition** is a named subset such as `train` or `test`.

```bash
eyepop get datasets
eyepop evaluate --ability my-namespace.find-kittens:latest --dataset people
```

### Next steps

* [Run Inference & Evaluations](/developer-documentation/cli/run.md) — put a target and some media together
* [Persistent Deployments](/developer-documentation/cli/persistent-sessions.md) — keep a target warm behind a stable UUID
* [On-Premise Instances](/developer-documentation/cli/on-premise.md) — run the same targets on your own hardware
