Fast Guardrail: Безопасность LLM через pgvector

Умный и экономичный подход к фильтрации запросов в Highload системах

Вместо того чтобы нагружать тяжелые модели проверкой каждого пользовательского ввода, мы внедряем семантический фильтр на уровне базы данных. Это позволяет отсекать вредоносные запросы еще до того, как они достигнут основной нейросети.

Архитектура «Быстрого предохранителя»

1
Ввод пользователя
Получение текстового промпта.
2
Эмбеддинг
Генерация вектора на легкой CPU-модели.
3
Поиск в pgvector
Мгновенное сравнение с базой запретов.

Ключевые показатели

Задержка (pgvector) ~5-10 мс
Задержка (LLM Guard) ~2000 мс
Эффективность фильтрации

Глоссарий

  • Cosine Similarity Метрика близости смыслов двух текстов.
  • HNSW Index Структура для сверхбыстрого векторного поиска.

Реализация на уровне базы данных

-- Подготовка таблицы политик
CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE security_policies (
    id SERIAL PRIMARY KEY,
    policy_name TEXT,
    pattern_text TEXT,
    embedding vector(1536)
);

-- Индекс для мгновенного поиска
CREATE INDEX ON security_policies 
USING hnsw (embedding vector_cosine_ops);

Минимальный Latency

Поиск по индексу HNSW занимает миллисекунды, не замедляя работу пользователя.

Экономия ресурсов

Мы не тратим GPU-часы на анализ очевидного спама или атак — всё делает Postgres.

Управляемость

Для блокировки новой атаки достаточно добавить одну строку в таблицу БД.

Compliance

Прозрачный аудит для ИБ: правила фильтрации хранятся в читаемом виде.

Логика проверки (Threshold)

Угроза: 0.10 Критично

"Запрос почти идентичен запрещенному паттерну"

Безопасно: 0.45 Норма

"Темы значительно различаются"

Используя оператор <=>, мы вычисляем косинусное расстояние.

Если distance < 0.15, система мгновенно возвращает отказ, даже не обращаясь к дорогостоящей LLM. Это экономит до 90% ресурсов при атаках типа "промпт-инъекция".