Skip to main content

Фильтрация по метаданным в RAG (Metadata Filtering)

Техника комбинированного поиска в векторных базах данных (Self-Querying Retriever). Позволяет сочетать семантический поиск по смыслу с жесткими фильтрами базы данных по метаданным: дата публикации, автор документа, уровень доступа, язык или департамент компании.

1. Обзор концепции и системная проблема

Представьте себе большую библиотеку, где все книги сброшены в одну гигантскую кучу посреди зала. Вы подходите и говорите: «Найди мне правила безопасности труда». Библиотекарь находит брошюру... но оказывается, что это брошюра 1978 года! Конечно, по содержанию она идеально подходит под тему «безопасность труда», но ее правила устарели на полвека.

Чистый векторный поиск страдает именно от этой слепоты: он оценивает лишь смысловое сходство слов, полностью игнорируя дату, автора или статус документа.

Чтобы исправить это, используют Фильтрацию по метаданным (Metadata Filtering).

Практическая аналогия: как фильтры на сайте интернет-магазина: вы ищете «кроссовки» (семантический поиск), но выставляете галочки: «только 42 размер», «черный цвет» и «скидка от 20%» (метаданные).

2. Архитектурная таксономия и ментальная модель

┌─────────────────────────────────────────────────────────────┐
│                 СХЕМА METADATA FILTERING                    │
├─────────────────────────────────────────────────────────────┤
│ 👤 ЗАПРОС ЧЕЛОВЕКА:                                        │
│    «Какие новые инструкции для курьеров вышли в 2026 году?» │
├─────────────────────────────────────────────────────────────┤
│ 🧠 LLM АВТОМАТИЧЕСКИ РАЗДЕЛЯЕТ ЗАПРОС НА ДВЕ ЧАСТИ:        │
│    1. Семантический вектор: «инструкции обязанности доставка»│
│    2. Жесткий SQL-фильтр:                                  │
│       `WHERE year == 2026 AND category == 'logistics'`      │
├─────────────────────────────────────────────────────────────┤
│ 🗄️ ВЕКТОРНАЯ БАЗА ДАННЫХ (Qdrant / Pinecone):               │
│    - Мгновенно отсекает 95% старых документов других лет   │
│    - Среди оставшихся 5% ищет ближайшие смысловые векторы   │
├─────────────────────────────────────────────────────────────┤
│ 🎯 РЕЗУЛЬТАТ: Только актуальные инструкции 2026 года!      │
└─────────────────────────────────────────────────────────────┘

3. Технический пайплайн и внутренняя механика

  1. Дата создания / обновления (updated_at): всегда приоритезируйте свежие регламенты над архивами.
  2. Уровень прав доступа (role_allowed): защита от того, чтобы стажер не увидел в ответах бота файлы с пометкой strictly_confidential.
  3. Статус версии (status: 'active' | 'archived'): исключение черновиков и устаревших проектов.
  4. Язык документа (lang: 'ru' | 'en'): избегание путаницы с многоязычными ответами.

4. Практические инженерные сценарии в продакшене

01. Оптимизация поиска в юридических документах

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

02. Автоматизация отчетности в финансовом отделе

Настройте систему, которая автоматически фильтрует финансовые отчеты по дате и уровню доступа, чтобы сотрудники видели только актуальные данные.

03. Улучшение пользовательского опыта в службе поддержки

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

5. Подводные камни, типовые ошибки и безопасность

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

/ Частые вопросыSchema.org FAQPage

FAQ: Фильтрация по метаданным в RAG (Metadata Filtering)

Это паспортные данные файла, которые описывают его свойства, а не сам содержимое: например, `author: 'Главный бухгалтер'`, `year: 2026`, `department: 'Finance'`, `access_level: 'confidential'`.
/ Внутренняя перелинковка
Все термины
Промпты и RAG

Векторный поиск против Ctrl+F (Dense vs Sparse)

Сравнение двух подходов к поиску: нейросетевого смыслового (Dense Retrieval) и классического ключевого по совпадению слов (Sparse / BM25). Объясняет, почему векторный поиск может провалиться при поиске артикулов товаров и как работает гибридный поиск.

Читать термин
Промпты и RAG

Подключение баз знаний (Google Drive, Notion, Confluence)

Технология интеграции корпоративных источников данных с языковыми моделями с помощью готовых коннекторов (Connectors / ETL). Автоматически синхронизирует обновленные документы из Google Drive, Notion, Confluence и Slack с векторной базой без ручной загрузки файлов.

Читать термин
Промпты и RAG

Векторные базы данных (Vector DBs & ANN Search)

Специализированные СУБД и расширения (Qdrant, pgvector, Milvus, Chroma, Turso), оптимизированные для хранения миллионов многомерных векторов и сверхбыстрого приближенного поиска ближайших соседей (Approximate Nearest Neighbors).

Читать термин