Що читає вузол — вхід, контекст і виходи інших вузлів
Три корені, з яких вузол читає дані, як пишеться шлях, що кожен вузол залишає вузлам після себе і що відбувається, коли шлях нічого не знаходить.
4 хв читання
Вузли флоу читають дані за шляхом: корінь, а за ним імена через крапку, наприклад input.plan або nodes.check.output.met. Ця сторінка каже, що лежить у коренях, де пишуться шляхи і що робить вузол, коли його шлях нічого не знаходить.
Три корені
| Корінь | Що в ньому |
|---|---|
input | Вхід запиту, яким його надіслав той, хто викликає |
context | Контекст виклику: до 64 простих значень |
nodes | nodes.<key>.output — те, що залишив вузол, який уже виконався |
Кожне ім’я після крапки спускається на рівень нижче:
input.customer.tier. Список читається за позицією елемента, рахуючи з 0:input.messages.0.content.У шляху немає пробілів і фігурних дужок, і між двома крапками немає порожнього імені.
<key>— ключ вузла у флоу. Панель вузла в конструкторі показує ключ під своїм заголовком. Ключ — від 1 до 64 малих латинських літер, цифр, підкреслень і дефісів.
Вхід і контекст
Вхід доходить до флоу таким, яким його надіслав той, хто викликає: об’єкт, порожній, якщо нічого не надіслано. AI-модель бере повідомлення свого виклику з input.messages і більше нізвідки.
Slen обрізає пробільні символи по краях рядка контексту, а рядок, що лишився порожнім, стає null. context.user_id називає клієнта, для якого робиться виклик, а context.credit_type — тип кредитів його рахунку, який платить; без нього це default. Надіслати запит каже, що може лежати в контексті.
Запит передає вхід далі без змін, тому nodes.<key>.output.<name> вхідного вузла читає те саме значення, що й input.<name>.
Що залишає кожен вузол
Вузол залишає свій вихід, коли закінчує роботу. Вузол, через який виконання не пройшло — він стоїть на іншій гілці, — нічого не залишає, і шлях у його вихід нічого не знаходить.
| Вузол | Його вихід |
|---|---|
| Запит | Вхід запиту |
| Умова | met — true або false |
| Перетворення | Об’єкт, який він склав, по полю на кожне поле його налаштувань |
| Нотатка у трасуванні | message — нотатка в тому вигляді, в якому її записано в трасування |
| Пошук у кеші | При влучанні — збережена відповідь моделі. При промаху — нічого |
| AI-модель | Відповідь моделі з полями нижче |
| Черга | Затримка, на яку його налаштовано, у секундах — Черга |
Відповідь вузла AI-модель — і збережена відповідь, яку повертає влучання вузла Пошук у кеші, — має таку форму:
{
"model": "gpt-4o-mini",
"content": "Thanks for your order!",
"finish_reason": "stop",
"tool_calls": null,
"usage": { "input_tokens": 412, "output_tokens": 96, "cached_input_tokens": 0 }
}Вихід вузла зберігається, поки виконання чекає, тому вузол після паузи читає те, що залишили вузли до неї. Вихід не зберігається разом із трасуванням, і консоль його не показує. Щоб побачити значення з виконання, запишіть його в нотатку вузлом Нотатка у трасуванні.
Де пишуться шляхи
Умова перевіряє значення за шляхом зі свого налаштування Поле.
Перетворення читає за шляхом значення кожного поля, яке складає.
Нотатка у трасуванні підставляє у своє повідомлення замість
{{ path }}значення за цим шляхом.Повернути відповідь може відповісти всім виходом вузла, який він називає за ключем.
HTTP-запит заповнює кожну підстановку
{{ path }}у шляху й рядку запиту своєї адреси значенням за цим шляхом, а значення за шляхом свого тіла надсилає тілом — HTTP-запит.Пошук у кеші — виняток. Його Поля ключа — шляхи всередині входу, записані без
input.на початку:messages, а неinput.messages.
Шляхи вузлів Умова і Перетворення перевіряються під час публікації флоу. Шлях починається з одного з трьох коренів, а шлях у nodes називає вузол флоу, який стоїть на шляху, що веде до вузла, який його читає. Флоу, що це порушує, не публікується.
Коли шлях нічого не знаходить
Шлях, який нічого не знайшов, не валить виконання — крім шляху в HTTP-запит. Кожен інший вузол продовжує по-своєму і пише в трасування подію warning.
Умова виходить через Не виконано. Лише оператор існує питає, чи є значення взагалі.
Перетворення ставить на місце значення значення поля за замовчуванням або
null.Нотатка у трасуванні залишає підстановку в нотатці такою, якою її набрано.
HTTP-запит не робить виклику й виходить через Помилка. Якщо до цього порту нічого не під’єднано, виконання завершується статусом
failed— HTTP-запит.
Значення, яке є і дорівнює null, знайдено: це не те саме, що відсутнє значення.
{ "type": "warning", "node_key": "check", "payload": { "reason": "unknown_path", "field": "context.plan" } }Що читати далі
Надіслати запит — вхід і контекст із боку застосунку.
Порти й розгалуження — як порт, через який виходить вузол, обирає гілку.
Як побудовано флоу — усі вузли конструктора.
AI-модель — відповідь виклику моделі і що в ній.