Filtrowanie po metadanych w RAG (Metadata Filtering)
Technika hybrydowego wyszukiwania w bazach wektorowych (Self-Querying Retriever). Umożliwia połączenie semantycznego wyszukiwania znaczeniowego ze ścisłymi filtrami bazy danych opartymi na metadanych: data publikacji, autor dokumentu, poziom dostępu, język lub dział firmy.
1. Przegląd koncepcji i przeznaczenia
Wyobraź sobie ogromną bibliotekę, w której wszystkie książki są zrzucone w jedną gigantyczną stertę pośrodku sali. Podchodzisz i mówisz: „Znajdź mi przepisy BHP”. Bibliotekarz znajduje broszurę... ale okazuje się, że to wydanie z 1978 roku! Zgodnie z treścią idealnie pasuje do tematu „bezpieczeństwo pracy”, ale jej wytyczne są przestarzałe o pół wieku.
Czysty wyszukiwanie wektorowe cierpi właśnie na tę ślepotę: ocenia wyłącznie semantyczne podobieństwo słów, całkowicie ignorując datę, autora czy status dokumentu.
Aby to naprawić, stosuje się Filtrowanie po metadanych (Metadata Filtering).
Praktyczna analogia: jak filtry w sklepie internetowym: szukasz „butów sportowych” (wyszukiwanie semantyczne), ale zaznaczasz opcje: „tylko rozmiar 42”, „kolor czarny” oraz „rabat powyżej 20%” (metadane).
2. Jak działa dwufazowe wyszukiwanie z filtrowaniem
┌─────────────────────────────────────────────────────────────┐
│ SCHEMAT METAFILTRACJI │
├─────────────────────────────────────────────────────────────┤
│ 👤 ZAPYTANIE UŻYTKOWNIKA: │
│ „Jakie nowe instrukcje dla kurierów zostały wydane w 2026 roku?” │
├─────────────────────────────────────────────────────────────┤
│ 🧠 LLM AUTOMATYCZNIE DZIELI ZAPYTANIE NA DWIE CZĘŚCI: │
│ 1. Wektor semantyczny: «instrukcje obowiązki dostawa» │
│ 2. Sztywny filtr SQL: │
│ `WHERE year == 2026 AND category == 'logistics'` │
├─────────────────────────────────────────────────────────────┤
│ 🗄️ BAZA WEKTOROWA (Qdrant / Pinecone): │
│ - Natychmiast odrzuca 95% starych dokumentów z innych lat│
│ - Wśród pozostałych 5% wyszukuje najbliższe wektory znaczeniowe │
├─────────────────────────────────────────────────────────────┤
│ 🎯 WYNIK: Tylko aktualne instrukcje z 2026 roku! │
└─────────────────────────────────────────────────────────────┘
3. Top-4 pola metadanych, które uratują Twój projekt
- Data utworzenia / aktualizacji (
updated_at): zawsze nadawaj priorytet aktualnym regulacjom nad archiwami. - Poziom uprawnień dostępu (
role_allowed): ochrona przed tym, aby stażysta nie zobaczył w odpowiedziach bota plików oznaczonych jakostrictly_confidential. - Status wersji (
status: 'active' | 'archived'): wykluczenie szkiców i przestarzałych projektów. - Język dokumentu (
lang: 'uk' | 'en'): uniknięcie chaosu wynikającego z wielojęzycznych odpowiedzi.
4. Praktyczny wniosek
Wektory bez metadanych to tylko połowa sukcesu. Zawsze otaczaj każdy zapisany w bazie chunk bogatym „paszportem” metadanych – zamieni to losowy generator cytatów w surowy, prawnie niezawodny system biznesowy.
FAQ: Filtrowanie po metadanych w RAG (Metadata Filtering)
Powiązane pojęcia
Wyszukiwanie wektorowe vs Ctrl+F (Gęste vs Rozproszone)
Porównanie dwóch podejść do wyszukiwania: semantycznego opartego na sieciach neuronowych (Dense Retrieval) oraz klasycznego dopasowania słów kluczowych (Sparse / BM25). Wyjaśnia, dlaczego wyszukiwanie wektorowe może zawodzić przy szukaniu numerów katalogowych produktów i jak działa wyszukiwanie hybrydowe.
Integracja baz wiedzy (Google Drive, Notion, Confluence)
Technologia integracji korporacyjnych źródeł danych z modelami językowymi za pomocą gotowych konektorów (Connectors / ETL). Automatycznie synchronizuje zaktualizowane dokumenty z Google Drive, Notion, Confluence i Slack z bazą wektorową bez konieczności ręcznego przesyłania plików.
Bazy wektorowe (Vector DBs & ANN Search)
Specjalizowane systemy zarządzania bazami danych (SGBD) oraz rozszerzenia (Qdrant, pgvector, Milvus, Chroma, Turso), zoptymalizowane do przechowywania milionów wielowymiarowych wektorów i błyskawicznego przybliżonego wyszukiwania najbliższych sąsiadów (Approximate Nearest Neighbors).