Документація Rivya AI

Посібник Rivya з життєвого циклу завдання

Зрозумійте стани завдань Rivya, резервування кредитів, надсилання провайдеру, зворотні виклики, опитування стану, історію, сповіщення та збої.

Востаннє переглянуто 2026/08/29

Використовуйте цей посібник, коли потрібно зрозуміти, що відбувається після надсилання завдання генерації зображення, відео або аудіо в Rivya.

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

Реальні стани завдання

Поточний асинхронний життєвий цикл генерації використовує чотири видимі стани:

  • WAITING

  • GENERATING

  • SUCCESS

  • FAILED

Ці стани зберігаються в ai_task і повторно використовуються в Studio, історії, dashboard і потоці сповіщень.

Що відбувається під час надсилання

1. Rivya валідує запит

Перш ніж щось дійде до провайдера, Rivya перевіряє:

  • модель існує

  • модель зараз доступна

  • пряма генерація увімкнена для цієї моделі

  • runtime базується на асинхронних завданнях

  • довжина промпта валідна

  • параметри форми нормалізовані

  • референсні файли відповідають тому, що приймає модель

Деякі документовані моделі мають додаткові правила. Audio Isolation історично потребувала завантаженого аудіофайлу й перевірки тривалості, але зараз недоступна; Rivya має відхилити її на шлюзі доступності, не створюючи завдання, не резервуючи кредити й не починаючи процес завантаження.

2. Rivya створює запис завдання

Rivya спершу створює запис ai_task зі статусом WAITING.

Цей запис зберігає модель, категорію, завдання, параметри, зарезервовані кредити, тип оплати, а згодом — результат або стан збою.

3. Credits витрачаються до надсилання провайдеру

Це важливо: для асинхронної генерації Rivya витрачає кредити завдання до надсилання роботи зовнішньому сервісу.

Якщо кредитів замало:

  • завдання позначається як невдале

  • зовнішній сервіс взагалі не викликається

  • може створитися сповіщення про недостатню кількість кредитів

4. Створюється завдання провайдера

Якщо модель доступна, пряму генерацію ввімкнено й кредитів достатньо, Rivya надсилає завдання відповідному сервісу та зберігає зовнішній ID.

У цей момент статус переходить у GENERATING.

Як Rivya дізнається результат

Rivya підтримує два шляхи завершення:

  • зворотний виклик провайдера в середовищах, де його ввімкнено

  • оновлення й опитування стану, коли завершення через зворотний виклик недоступне

Під час зворотного виклику також перевіряється підпис вебхука до завершення завдання.

Якщо зворотний виклик надходить до повної готовності результату провайдера, Rivya може відкласти завершення й повторити перевірку його стану.

Шлях успіху

У разі успіху Rivya:

  • зберігає URL результатів

  • встановлює статус SUCCESS

  • завершує розрахунок завдання

  • робить результат доступним в історії генерацій

  • створює сповіщення про успішну генерацію

Саме тому завершене зображення або відео залишається видимим після виходу зі сторінки.

Шлях невдачі

У разі невдачі Rivya:

  • зберігає повідомлення про помилку

  • встановлює статус FAILED

  • повертає кредити, коли невдача сталася після резервування і має бути скасована

  • створює сповіщення про невдалу генерацію для довготривалої перевірки

Це відрізняється від тимчасового toast-повідомлення. Невдача стає частиною запису акаунта.

Де ви бачите стан завдання

Те саме завдання може з'являтися в кількох місцях:

Цей спільний стан - одна з причин, чому продукт відчувається узгодженим, а не одноразовим.

Чим відрізняється Chat

Chat також є оплачуваним, але він не використовує той самий запис асинхронного завдання. Ходи чату зберігаються як:

  • чат-сесії

  • чат-повідомлення

Для чат-моделей на основі токенів Rivya може спершу зарезервувати кредити, а потім розрахувати фінальну суму після повернення даних використання. Якщо фінальна сума нижча, різниця повертається.

Отже, широке правило таке:

  • генерація зображень, відео й аудіо використовує ai_task

  • chat використовує збережені сесії й розрахунок на рівні повідомлень

Читати далі

Чеклист стану завдання

Коли генерація заплутана, повільна, невдала або відсутня, перевірте:

  • Спершу визначте тип завдання: розрахунок чату, зображення, відео, аудіо або чат із підтримкою інструментів.

  • Переконайтеся, що обрана модель доступна; документована сторінка не доводить, що завдання може запуститися.

  • Перевірте, чи кредити були зарезервовані до надсилання провайдеру або розраховані після даних використання.

  • Перевірте зворотний виклик провайдера, результат опитування, запис історії та сповіщення, перш ніж вважати результат втраченим.

  • Відокремлюйте невдачі, які користувач може виправити, від невдач провайдера або інфраструктури.

  • Підтвердьте, чи невдале завдання має повернути кредити перед повторним запуском того самого промпта.

Повторно перевірте перед новим запуском

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