# Швидкий старт

> Запустіть першу оптимізацію приблизно за десять хвилин.

Ця сторінка показує, як почати свій перший запуск приблизно за десять хвилин. Ви входите в систему, завантажуєте невеликий набір даних, заповнюєте чотири кроки майстра й запускаєте оптимізацію. У прикладі покращується промпт, який розподіляє повідомлення служби підтримки за мітками.

## Перед початком

Вам потрібні:

- Акаунт Skynet.
- Файл CSV, JSON або Excel (`.csv`, `.json`, `.xlsx` або `.xls`). Кожен рядок — це один кейс.
- Один або кілька вхідних стовпців, наприклад `message`.
- Один стовпець з очікуваним результатом, наприклад `label`.

> [!TIP]
> Використовуйте щонайменше 5 рядків. Якщо пар менше ніж 5, Skynet не виділяє тестову вибірку, і підсумкова оцінка походить із кейсів, які використовував оптимізатор.

## 1. Вхід

Увійдіть у Skynet. Потім відкрийте сторінку надсилання за адресою `/submit`.

> [!NOTE]
> На цій сторінці використано підписи рівня **Стандартний**. Рівень **З підказками** має простіші підписи, пропускає крок «Оптимізатор» і обирає **Auto** за вас. Рівень можна змінити в налаштуваннях.

## 2. Завдання

Перший крок — **Завдання**. Він запитує: «Що ви хочете оптимізувати?»

1. У полі **Мета** опишіть, яким є добрий результат. Пишіть простими словами, наприклад: «Віднеси кожне повідомлення служби підтримки до категорії billing, bug або other».
2. Необов’язково: у полі **Контекст** додайте відомості, які допоможуть оптимізатору.
3. У полі **Тип артефакту** оберіть **Промпт**.
4. У полі **Початкова версія** вставте свій поточний промпт.

## 3. Вхідні дані

Другий крок — **Вхідні дані**.

1. Оберіть **Завантажте файл CSV, JSON або Excel** або **Вибрати з бібліотеки**, щоб використати збережений набір даних.
2. У розділі **Як читати дані** призначте кожному стовпцю роль:
   - **Вхід**: код запуску отримує цей стовпець.
   - **Вихід**: очікуване значення. Його отримує метрика.
   - **Пропустити**: Skynet не використовує цей стовпець.
3. Для розбиття залиште **Використати рекомендацію**. Для більшості наборів даних розбиття становить 70% навчальних, 15% валідаційних і 15% тестових кейсів.

Повні правила наведено в розділі [Набори даних і розбиття](/docs/uk/concepts/datasets).

## 4. Оптимізатор

Третій крок — **Оптимізатор** («Оптимізатор, моделі та бюджет»).

- Залиште оптимізатор на **Auto**.
- Оберіть **Модель рефлексії**. Оптимізатор використовує її, щоб писати нові версії. Ця модель обов’язкова.
- Необов’язково: оберіть **Модель завдання**. Її використовує ваш код запуску.
- У розділі **Бюджет** залиште для **Макс. запусків оцінювача** типове значення 200.

Щоб обрати конкретний рушій, прочитайте [Рушії](/docs/uk/concepts/engines).

## 5. Метрика й запуск

Останній крок — **Метрика й запуск** («Код і метрика»). Ви пишете два файли.

```python tab="run.py"
from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input["message"])
```

```python tab="metric.py"
def score(input, output, expected=None):
    want = expected["label"].strip().lower()
    got = str(output).strip().lower()
    if got == want:
        return 1.0, {"feedback": "Correct label."}
    return 0.0, {"feedback": f"Expected '{want}', got '{got}'."}
```

`artifact` — це поточна версія вашого промпту. `input` містить вхідні стовпці одного кейсу. `expected` містить вихідний стовпець, ключем якого є назва стовпця.

Потім натисніть **Перевірити** в розділі **Перевірка контракту**. Перевірка запускає ваш код і вашу метрику в пісочниці на 3 прикладах кейсів. Вона перевіряє:

| Перевірка                          | Що не проходить                                                     |
| ---------------------------------- | ------------------------------------------------------------------- |
| Сигнатура коду запуску             | `run.py` не визначає `run(artifact, input)`                         |
| Сигнатура метрики                  | `metric.py` не визначає `score(input, output, expected=None)`       |
| Модель метрики                     | Модель метрики непридатна до використання                           |
| Код запуску на прикладах           | Ваш код запуску викликає помилку на прикладі кейсу                  |
| Значення, яке повертає метрика     | `score` не повертає коректну оцінку й відгук                        |

> [!NOTE]
> Запуск можна почати лише після того, як перевірка контракту пройде успішно.

## 6. Запуск і спостереження

На екрані підсумку відображається «Готово до запуску». Його вкладки: «Загальне», «Дані», «Моделі», «Бюджет» і «Винагорода». Перевірте налаштування, а потім запустіть оптимізацію.

Щоб стежити за запуском, відкрийте його зі списку своїх оптимізацій. Прочитайте [Читання результатів](/docs/uk/guides/results), щоб зрозуміти оцінки й переможну версію.

## Наступні кроки

- Напишіть кращу метрику: [Метрики й оцінювачі](/docs/uk/concepts/scorers).
- Дізнайтеся, які рушії підходять для вашого артефакту: [Як працює оптимізація](/docs/uk/concepts/optimization).
- Дізнайтеся, скільки коштує запуск: [Бюджети й оплата](/docs/uk/concepts/billing).

---

Source: https://staging.skynetml.com/docs/uk/quickstart
