Перейти до вмісту
Сторінки

Інтеграції

API

Автентифікація, запуск і читання результатів через HTTP API.

HTTP API Skynet дає змогу скриптам та інструментам робити те саме, що й вебзастосунок: запускати оптимізації, стежити за ними й читати результати. Ця сторінка показує, як підписувати запити, де знайти повний довідник, і містить один повний приклад.

Базова URL-адреса

Надсилайте кожен запит на:

https://api.skynetml.com

Автентифікація

API використовує API-токени.

  1. Відкрийте Налаштування у Skynet, а потім вкладку API.
  2. Натисніть Згенерувати токен.
  3. Одразу скопіюйте токен. Skynet показує повний токен лише один раз.

Передавайте токен у заголовку Authorization кожного запиту:

Authorization: Bearer skyd_...
  • Токени починаються з skyd_.
  • Кожен користувач має щонайбільше один дійсний токен. Новий токен анулює старий.
  • Щоб анулювати токен, натисніть Відкликати токен.

Інтерактивний довідник

Повний довідник доступний за адресою api.skynetml.com/scalar. У ньому перелічено кожну публічну кінцеву точку, її поля й відповіді. З цієї сторінки можна надсилати тестові запити.

Довідник читає документ OpenAPI за адресою https://api.skynetml.com/openapi.public.json. Використовуйте цей файл, щоб згенерувати клієнт для своєї мови програмування.

Основні кінцеві точки

Метод і шляхЩо робить
GET /modelsПовертає список доступних вам моделей.
GET /optimizersПовертає список оптимізаторів, які підходять для налаштувань.
GET /blackbox/enginesПовертає список нативних рушіїв і доступність кожного з них.
POST /optimizeЗапускає оптимізацію промпту, коду, тексту або програми DSPy.
POST /blackbox/runЗапускає оптимізацію на репозиторії GitHub.
GET /optimizationsПовертає список ваших запусків.
GET /optimizations/{optimization_id}Повертає один запуск: статус, прогрес, журнали й результат.
GET /optimizations/{optimization_id}/artifactПовертає найкращу версію, яку знайшов запуск.
POST /optimizations/{optimization_id}/cancelЗупиняє запуск.
POST /serve/{optimization_id}Виконує найкращу версію на нових вхідних даних.
GET /healthПоказує, чи працює сервіс.

Створення запуску

POST /optimize приймає ті самі налаштування, що й майстер надсилання. У цьому прикладі покращується промпт, який розподіляє повідомлення служби підтримки за мітками.

curl https://api.skynetml.com/optimize \
  -H "Authorization: Bearer $SKYNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: support-labels-001" \
  -d @run.json

Важливі поля:

  • task.artifact.kind має значення prompt, code, text або dspy_program.
  • data.mode має значення pairs (вхідні дані з очікуваними результатами) або single (рівно один кейс).
  • optimizer.choice має значення auto або назву одного оптимізатора з GET /optimizers.
  • max_cost_cents — ліміт витрат для цього запуску в центах США.
  • is_private за замовчуванням має значення false. Установіть true, щоб зробити запуск приватним.

Правила для run_code і metric_code описано в розділі Метрики й оцінювачі.

Відповіді

СтатусЗначення
201Skynet поставив запуск у чергу. Тіло відповіді містить optimization_id і status.
202Перевірка налаштувань ще триває. Зачекайте стільки секунд, скільки вказано в заголовку Retry-After. Потім надішліть те саме тіло з тим самим Idempotency-Key.
402Ваш баланс замалий.
409Ви досягли квоти, або перевірка налаштувань застаріла.
422Запит або код робочого простору не підходить для оптимізатора.

Відстеження запуску

Опитуйте запуск, доки його статус не стане підсумковим:

curl https://api.skynetml.com/optimizations/$RUN_ID \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Поле status має одне з таких значень:

СтатусПідсумковий
pending, validating, runningНі
pausedНі
successТак
failed, cancelled, stoppedТак

Опитуйте кожні 10–30 секунд. Запуск може тривати від кількох хвилин до кількох годин.

У довіднику API перелічено всі поля відповіді про запуск.

Використання результату

Коли статус — success, отримайте найкращу версію:

curl https://api.skynetml.com/optimizations/$RUN_ID/artifact \
  -H "Authorization: Bearer $SKYNET_TOKEN"

Щоб виконати найкращу версію на нових вхідних даних, надішліть POST /serve/{optimization_id}. Що означає кожна оцінка, описано в розділі Читання результатів.

Ліміти

API використовує ті самі квоти, обмеження частоти запитів і тарифікацію, що й вебзастосунок. Прочитайте Ліміти і Бюджети й оплата.