Поток данных
Поток запроса через шлюз
Пример кода
1. Клиент отправляет в Spectorn OpenAI-совместимый запрос.
2. spectorn-server аутентифицирует тенанта по API-ключу или сессии.
3. Определяются режим проверки и политика тенанта, провайдер и маршрут модели.
4. Проверяются текст промпта и видимые модели поля инструментов, функций и схем.
5. Необязательный recall памяти проверяется до вставки в промпт.
6. Собранный промпт после вставки памяти проверяется ещё раз.
7. Запрос уходит выбранному провайдеру, только если проверки пройдены.
8. Непотоковый ответ проверяется до возврата.
9. SSE-ответ буферизуется и проверяется скользящими окнами до выдачи.
10. Записываются использование, аудит, метрики, self-defense и сигналы для кабинета; находки уходят в SIEM тенанта, если она настроена.
Точки fail-closed
- Входной сканер недоступен или перегружен: запрос не пересылается.
- Recall памяти небезопасен: запрос блокируется до пересылки провайдеру.
- Собранный промпт небезопасен: запрос блокируется до пересылки провайдеру.
- Ответ небезопасен: ответ блокируется или обрывается до выдачи небезопасной части.
- Базовый URL провайдера, указывающий на приватные или link-local адреса, отклоняется, если такое назначение явно не разрешено для собственного развёртывания модели.
Примечания
Число движков и ширина веера относятся к деталям реализации. Берите их из текущей сборки, когда нужно; не описывайте каждый запрос как прогон фиксированного числа движков.