Как финансовые узлы стоят вокруг вызова модели
Какой узел флоу на деле двигает деньги вызова модели, что добавляют четыре узла финансовой цепочки и какого порядка от них требует проверка при публикации.
4 мин чтения
Четыре узла группы Деньги палитры стоят вокруг вызова модели: Оценка стоимости, Проверка бюджета, Резерв бюджета и Списание и возврат. Вместе с вызовом они составляют финансовую цепочку. Пятый узел группы, Требуется одобрение, ждёт решения человека и в цепочку не входит — Требуется одобрение. Эта страница говорит, что добавляет каждый узел цепочки и в каком порядке флоу может их рисовать.
Кто двигает деньги
Деньги вызова двигает только AI-модель. Когда выполнение доходит до него, Slen резервирует ожидаемую стоимость вызова в ваших бюджетах, вызывает провайдера и после ответа рассчитывает холд. Флоу без Оценка стоимости, Резерв бюджета и Списание и возврат резервирует и тратит ровно столько же, сколько тот же флоу с ними.
Проверка бюджета — единственный узел цепочки, который что-то решает. Он спрашивает, был бы вызов разрешён, и отказывает до того, как зарезервированы какие-либо деньги.
Оценка стоимости, Резерв бюджета и Списание и возврат — отметки. Они ничего не меняют в том, что резервируется и тратится. Они показывают на холсте, в трассировке и в метриках конструктора, где происходят шаги вызова.
Сам холд объясняет статья Как работает резервирование бюджета.
Порядок цепочки
- Запрос — По умолчанию → Оценка стоимости
- Оценка стоимости — По умолчанию → Проверка бюджета
- Проверка бюджета — Разрешить → Резерв бюджета
- Резерв бюджета — По умолчанию → AI-модель
- AI-модель — Успех → Списание и возврат
- Списание и возврат — По умолчанию → Вернуть ответ
- Проверка бюджета — Отказ → Отклонить запрос
Узлы перед вызовом — Оценка стоимости, Проверка бюджета и Резерв бюджета — ведут к узлу модели друг через друга, а когда цепочка ветвится, — через узлы Условие.
Списание и возврат стоит сразу после узла модели, на его порту Успех.
Ветка Отказ узла Проверка бюджета выходит из цепочки. Модель на этой ветке — другой вызов, со своей цепочкой.
Цепочка принадлежит одному вызову модели. Флоу, который вызывает несколько моделей, рисует цепочку для каждого вызова, которому она нужна, и каждый вызов резервирует и рассчитывается сам по себе.
Что требует проверка при публикации
Флоу, который нарушает одно из этих правил, не публикуется.
Каждый из узлов Оценка стоимости, Проверка бюджета и Резерв бюджета ведёт ровно к одному AI-модель — только через узлы цепочки и узлы Условие. Узел, который не ведёт ни к одной модели, — это
misplaced_finance_node, а узел, чьи ветки ведут к двум моделям или больше, —ambiguous_finance_chain. Узел другого вида на пути, например Преобразование, обрывает там цепочку.Каждая связь, которая приходит в Списание и возврат, идёт от порта Успех узла AI-модель, и хотя бы одна такая связь есть. Узел с любой другой связью или без связей — это
misplaced_finance_node.Ни до Очередь, ни до Требуется одобрение нельзя дойти от Резерв бюджета раньше, чем до модели:
park_inside_finance_chain. Проверка идёт по всем связям, кроме ветки Отказ, через узлы любого вида — Условие после Резерв бюджета, чья другая ветка ведёт к Очередь, тоже нарушает правило. У ожидающего выполнения ничего не зарезервировано, а холд берётся, когда делается вызов.
Порядка узлов перед вызовом между собой проверка не требует: она спрашивает, куда они ведут.
Что каждый узел оставляет в трассировке
| Узел | Что трассировка выполнения показывает на нём |
|---|---|
| Оценка стоимости | Событие estimated с прогнозом вызова, а когда вызов получил ответ, — второе событие estimated с оценкой, по которой взят его холд |
| Проверка бюджета | Событие budget_denied или policy_denied, когда он отказывает |
| Резерв бюджета | Событие reserved холда вызова, когда вызов получил ответ |
| AI-модель | Попытки у провайдера и ответ. События estimated, reserved и captured вызова стоят здесь, когда в его цепочке нет узла, который бы их принял |
| Списание и возврат | Событие captured вызова. Стоимость вызова в метриках конструктора считается на этом узле, а не на узле модели |
Два события estimated узла Оценка стоимости различаются полем source: preflight — это прогноз, authorize — оценка холда.
Когда выполнение проходит узлы перед вызовом и затем выходит из цепочки — Условие отправляет его другим путём или Проверка бюджета отказывает, — холд так и не берётся, и никаких событий холда на них не пишется.
Что читать дальше
Оценка стоимости, Проверка бюджета, Резерв бюджета и Списание и возврат — каждый узел цепочки.
AI-модель — узел, который резервирует, вызывает и рассчитывает.
Как работает резервирование бюджета — что холд делает с вашими бюджетами.
Как устроен флоу — группы палитры и то, что должно быть в каждом флоу.
Проверки при публикации — все проверки графа и останавливают ли они публикацию.