Skip to main content

Filtrowanie po metadanych w RAG (Metadata Filtering)

DLA AGENTÓW AIChatGPTClaude

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

  1. Data utworzenia / aktualizacji (updated_at): zawsze nadawaj priorytet aktualnym regulacjom nad archiwami.
  2. Poziom uprawnień dostępu (role_allowed): ochrona przed tym, aby stażysta nie zobaczył w odpowiedziach bota plików oznaczonych jako strictly_confidential.
  3. Status wersji (status: 'active' | 'archived'): wykluczenie szkiców i przestarzałych projektów.
  4. 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.

/ Najczęściej zadawane pytaniaSchema.org FAQPage

FAQ: Filtrowanie po metadanych w RAG (Metadata Filtering)

To dane identyfikacyjne pliku opisujące jego właściwości, a nie samą treść, np. `author: 'Główny Księgowy'`, `year: 2026`, `department: 'Finance'`, `access_level: 'confidential'`.
/ Linki wewnętrzne
Wszystkie hasła