Оценка стоимости

Узел финансовой цепочки, который пишет в трассировку ожидаемую стоимость вызова модели, к которому он ведёт.

3 мин чтения

Оценка стоимости говорит, какова ожидаемая стоимость предстоящего вызова модели, ещё до того, как вызов сделан. Он ничего не резервирует и ни в чём не отказывает.

Узел
Оценка стоимости
Тип
estimate_cost
Категория
Деньги
Порты
  • По умолчанию default подключение обязательно
Завершает путь
Нет

Что делает узел

Когда выполнение доходит до узла, Slen оценивает вызов узла AI-модель, к которому ведёт цепочка, так же, как будет оцениваться холд этого вызова: та же модель, сообщения входа, потолок выхода узла модели и политики, которые их меняют. Узел пишет оценку в трассировку как событие estimated и пропускает выполнение дальше через По умолчанию.

Это число — прогноз. Узел модели оценивает вызов заново, когда берёт холд, мгновением позже, и когда вызов получил ответ, эта оценка пишется на этом узле вторым событием estimated. Они различаются полем source: preflight у прогноза, authorize у оценки холда.

Когда вызов оценить нельзя, событие так и говорит, а выполнение всё равно идёт дальше. Тогда о вызове решает сам узел модели.

Когда использовать

  • Чтобы видеть на холсте и в трассировке, какой ожидалась стоимость вызова, ещё до того, как зарезервированы какие-либо деньги.

  • Чтобы следующий узел мог прочитать оценку: Условие может сравнить её с порогом и выбрать ветку.

  • Проверка бюджета этот узел не нужен: он делает ту же оценку сам.

  • Вызывающий получает оценку и без узла: cost.estimated выполнения складывает оценки, по которым взяты холды его вызовов, — Выполнения.

Настройки

Настроек у узла нет. Множитель запаса холда Slen выбирает по тому, насколько ошибались оценки операции до сих пор, и политика может его заменить — Политики. Множитель, сохранённый на узле в более старой версии, не читается.

Порты

У узла один порт, По умолчанию, и он обязательный.

Выход

Узел оставляет прогноз следующим узлам.

JSON
{ "estimated_cost": "0.00048000", "safety_multiplier": "1.200" }
  • estimated_cost — ожидаемая стоимость вызова.

  • safety_multiplier — множитель запаса, с которым был бы взят холд. Холд — это оценка, умноженная на него.

Оба значения — десятичные числа, записанные текстом. Следующий узел читает их по пути nodes.<key>.output.estimated_cost, где <key> — ключ этого узла во флоу. Когда вызов оценить не удалось, выход пуст.

Ошибки

Своих ошибок узел не выдаёт, и проверять в его настройках нечего. Его место проверяется при публикации флоу: узел ведёт ровно к одному AI-модель. Узел, который не ведёт ни к одной модели, — это misplaced_finance_node, а ведущий к нескольким — ambiguous_finance_chain — Финансовая цепочка.

Пример

  • Запрос — По умолчанию → Оценка стоимости
  • Оценка стоимости — По умолчанию → AI-модель
  • AI-модель — Успех → Вернуть ответ

Оценка стоимости пишет прогноз вызова в трассировку, AI-модель резервирует деньги и вызывает модель, а Вернуть ответ отвечает вызывающему. Трассировка показывает обе оценки вызова на первом узле.

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