Як флоу складається з вузлів

Форма, яку має кожен флоу, — вхід, рішення, виклик моделі й відповідь — і таблиця всіх вузлів конструктора.

3 хв читання

Флоу — це граф, який вирішує, скільки запиту можна витратити. Його вузли — кроки цього рішення, а зв’язки між ними кажуть, який крок наступний. Ця сторінка показує форму, яку має кожен флоу, і перелічує всі вузли, які знає конструктор.

Від запиту до відповіді

  • Запит — Типовий → AI-модель
  • AI-модель — Успіх → Повернути відповідь
  • AI-модель — Відмова → Відхилити запит

Запит називає код операції, і запускається флоу, прив’язаний до цього коду. Один запуск флоу — це виконання. Воно починається у вхідному вузлі та йде від вузла до вузла зв’язками, по одному вузлу за раз, доки якийсь вузол його не завершить.

  • Запит — вхідний вузол. Сюди надходить запит, і у флоу такий вузол рівно один.

  • Вузли посередині ухвалюють рішення. Вони перевіряють бюджет, зазирають у кеш, порівнюють поле запиту, чекають на людину. Кожен із них виходить через один зі своїх портів, і порт обирає гілку — див. Порти й розгалуження.

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

  • Повернути відповідь і Відхилити запит — кінцеві вузли. Перший відповідає тому, хто викликав, другий відхиляє запит із кодом помилки. Виконання, яке закінчилося в першому, отримує статус completed, а в другому — rejected.

Що має бути в кожному флоу

Флоу перевіряється під час публікації. Флоу, який порушує одне з цих правил, не публікується.

  • У ньому один вхідний вузол, і лише один.

  • Кожен шлях закінчується в кінцевому вузлі.

  • Жоден зв’язок не веде назад, у вузол, який шлях уже пройшов. Флоу йде вперед.

  • Кожен обов’язковий порт кожного вузла підключено.

  • Оцінка вартості, Перевірка бюджету і Резерв бюджету ведуть до одного виклику моделі, а Списання та повернення іде після його порту Успіх, — їхні правила дає стаття Фінансовий ланцюжок.

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

Групи палітри

Конструктор розкладає вузли за групами в тому порядку, у якому запит зазвичай їх зустрічає.

ГрупаДля чого її вузли
ВхідТочка, у якій надходить запит
ГрошіКроки навколо грошей виклику — його очікувана вартість, перевірка бюджету, резерв і його закриття, схвалення людиною
РішенняВибір гілки, перетворення даних, нотатка в трасуванні
КешВідповідь із кешу замість повторної плати за ту саму відповідь
МодельВиклик моделі та позначка шляху, яким ідуть, коли перший вибір відхилено
ВихідВідповідь тому, хто викликав, відмова в запиті або очікування перед тим, як флоу піде далі

Один вузол, HTTP-запит, заморожено, якщо сервіс не налаштовано інакше. Версія, опублікована з ним, працює далі, а палітра його більше не пропонує. У новій версії його бути не може: чернетка, у якій є цей вузол, не публікується, доки вузол не прибрано. Що вузол робить у версії, опублікованій із ним, каже стаття HTTP-запит.

Усі вузли

ВузолТипКатегоріяПорти
Запит sdk_requestВхідdefault
Оцінка вартості estimate_costГрошіdefault
Перевірка бюджету budget_checkГрошіdefault, deny
Резерв бюджету reserve_budgetГрошіdefault
Списання та повернення capture_releaseГрошіdefault
Потрібне схвалення require_approvalГрошіapproved, rejected
Умова conditionРішенняmet, not_met
Нотатка у трасуванні logРішенняdefault
Перетворення transformРішенняdefault
Пошук у кеші cache_lookupКешhit, miss
Запис у кеш cache_writeКешdefault
AI-модель ai_modelМодельsuccess, error, rate_limit, deny
Запасний шлях fallbackМодельdefault
Повернути відповідь return_responseВихідНемає
Відхилити запит rejectВихідНемає
Черга queueВихідdefault
HTTP-запит Замороженийhttp_requestВихідdefault, error

Що читати далі

  • Порти й розгалуження — які порти має вузол, які з них обов’язково підключати і що робить непідключений.

  • AI-флоу — як запит знаходить свій флоу і через які стани проходить флоу.

  • Глосарій — код операції, версія, виконання.

  • Відкрийте флоу на екрані AI-флоу або почніть із готового на екрані Шаблони.

Зібрано з openapi b070e1f, sdk contract 5cc7055, php ae4a53b, node 84bc62d