Запис у кеш
Вузол, який зберігає відповідь моделі під ключем, не знайденим пошуком у кеші вище, щоб наступного разу на такий самий запит відповів кеш.
2 хв читання
Запис у кеш зберігає відповідь на потім. Він бере відповідь моделі вище себе і зберігає її під ключем, який Пошук у кеші шукав і не знайшов.
- Вузол
- Запис у кеш
- Тип
cache_write- Категорія
- Кеш
- Порти
- Типовий
defaultпідключення обовʼязкове
- Типовий
- Завершує шлях
- Ні
Що робить вузол
Коли виконання доходить до вузла, він зберігає останню відповідь вузла AI-модель на шляху на час, заданий у налаштуванні, і виходить через Типовий. На наступний запит із тим самим ключем пошук відповідає з кешу.
Вузол нічого не зберігає, а виконання однаково йде далі, коли:
жоден пошук вище не дав промаху в цьому виконанні з ключем, який можна використати, — пошук влучив, його ключ нічого не казав про запит або пошуку немає;
відповідь не закінчилася чисто: модель зупинилася з іншої причини, ніж кінець відповіді, або відповідь порожня;
відповідь більша, ніж приймає кеш, — за замовчуванням 256 КБ;
сховище кешу недоступне.
Коли використовувати
Ставте його після AI-модель на гілці Промах вузла Пошук у кеші. Один пошук і один запис складають пару: пошук питає, запис відповідає на питання, на яке пошук відповісти не зміг.
Налаштування
| Налаштування | Для чого воно |
|---|---|
ttl_seconds | Скільки зберігається відповідь, у цілих секундах, не менше 1. Вузол без значення зберігає її стільки, скільки налаштовано в сервісі, — за замовчуванням 3600 секунд. |
У конструкторі налаштування — Зберігати (секунди). Новий вузол зберігає відповідь 3600 секунд, годину; вузол без значення зберігає її стільки, скільки налаштовано в сервісі, — за замовчуванням годину.
Порти
Вузол має один порт, Типовий, і він обов’язковий. Флоу, в якому він нікуди не веде, не публікується.
Вихід
Вузол не залишає виходу. Наступний вузол читає відповідь моделі з виходу вузла AI-модель.
Помилки
Помилок вузол не кидає. Коли він нічого не зберігає, подія warning у трасуванні каже чому. Ось попередження, які пише вузол:
[
{ "type": "warning", "node_key": "store", "payload": { "code": "cache_write_without_lookup" } },
{ "type": "warning", "node_key": "store", "payload": { "code": "cache_write_unfinished_answer" } },
{ "type": "warning", "node_key": "store", "payload": { "code": "cache_write_empty_answer" } },
{ "type": "warning", "node_key": "store", "payload": { "code": "cache_value_refused" } },
{ "type": "warning", "node_key": "store", "payload": { "code": "cache_store_unavailable" } }
]| Код | Чому нічого не збережено |
|---|---|
cache_write_without_lookup | Жоден пошук вище вузла не дав промаху в цьому виконанні |
cache_write_unfinished_answer | Модель не закінчила відповідь |
cache_write_empty_answer | У відповіді немає тексту |
cache_value_refused | Відповідь більша, ніж приймає кеш |
cache_store_unavailable | Сховище кешу недоступне |
Вузол, вище якого на жодному шляху немає Пошук у кеші, отримує попередження перевірки під час публікації cache_write_without_lookup; флоу однаково публікується. Налаштування перевіряється під час перевірки флоу та під час його публікації.
В API запис issues називає таку перевірку в params.detail; його code — invalid_node_config.
| Перевірка | Повідомлення в конструкторі |
|---|---|
cache_invalid_ttl | Час життя «{node}» має бути цілим числом секунд, не менше 1. |
Приклад
- Запит — Типовий → Пошук у кеші
- Пошук у кеші — Влучання → Повернути відповідь
- Пошук у кеші — Промах → AI-модель
- AI-модель — Успіх → Запис у кеш
- Запис у кеш — Типовий → Повернути відповідь
При промаху відповідає модель, вузол зберігає відповідь, і Повернути відповідь відповідає нею тому, хто викликає. Такий самий запит після цього — влучання.
Див. також
Пошук у кеші — ключ і те, хто ділить відповідь.
Як побудовано флоу — усі вузли конструктора.
AI-модель — виклик, відповідь якого зберігає кеш.
Зібрано з openapi b070e1f, sdk contract 5cc7055, php ae4a53b, node 84bc62d