Перейти к содержимому
Страницы

Интеграции

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 использует те же квоты, ограничения частоты запросов и правила оплаты, что и веб-приложение. Прочитайте Лимиты и Бюджеты и оплата.