Descriere & Utilizare
Cea mai mare provocare în sistemele RAG din lumea reală este combinarea căutării semantice cu reguli de afaceri stricte (de exemplu: „Găsește cele mai relevante proceduri, dar numai cele din departamentul HR și actualizate după 2024”).
Qdrant excelează la acest capitol prin mecanismul său de Single-stage Filtering: filtrele nu sunt aplicate după căutare (post-filtering, care poate goli rezultatele) și nici înainte (pre-filtering, care distruge graful), ci în timpul explorării HNSW, păstrând întotdeauna numărul dorit de rezultate.
Poți construi condiții logice oricât de complexe combinând clauzele must (AND), should (OR), must_not (NOT) cu potriviri exacte, verificări de intervale numerice (Range) sau căutare de prefixe text.
Cum să o reții ușor
💡 Ca un agent imobiliar căruia îi ceri o casă cu o atmosferă primitoare (vector search), dar pui condiția fermă să aibă minim 3 camere și să fie sub un anumit preț (payload filter).
Opțiuni și parametri tehnici
query_vector: vectorul generat pentru întrebarea utilizatorului.query_filter: instanțămodels.Filter(must=[...], should=[...]).limit: numărul de rezultate returnate (Top K, ex: 5).score_threshold: scorul minim de similitudine sub care rezultatele sunt ignorate (ex: 0.75).with_payload=True: returnează și metadatele asociate fiecărui rezultat.
Exemple practice și cazuri de utilizare
- Crearea unui index pe câmpul de filtrare pentru viteză:
client.create_payload_index(collection_name="...", field_name="categorie", field_schema="keyword"). - Parcurgerea rezultatelor:
for r in rezultate: print(f"{r.score:.3f} | {r.payload['titlu']}"). - Filtru pe liste de etichete (MatchAny):
models.FieldCondition(key="tags", match=models.MatchAny(any=["ai", "docker"])).
Sfaturi de configurare & capcane
Dacă filtrezi des după un anumit câmp (de exemplu user_id sau categorie), creează un Payload Index cu create_payload_index() — interogările filtrate vor deveni de 10 ori mai rapide!
Comenzi și ghiduri înrudite
qdrant-upsert-payload: Resursă asociată din acest modul.hybrid-search-rrf: Resursă asociată din acest modul.multitenancy-vector-namespaces: Resursă asociată din acest modul.