4.9 KiB
Publikovanie dokumentov a dostupnosť nástrojov
Jednotná politika
Používateľ zvolil zahrnutie dokumentov bez published. RAG aj GraphRAG preto
predvolene používajú published_only=true s týmto významom:
| Hodnota zdroja | Predvolené vyhľadávanie |
|---|---|
published: true |
Zahrnúť |
Chýbajúce published alebo normalizované null |
Zahrnúť |
published: false |
Vylúčiť |
Chýbajúca hodnota zodpovedá predvolenému významu príznaku v
Grav. Táto politika určuje
výber podľa published; API naďalej používa svoju existujúcu autentifikáciu.
V aktuálnom korpuse nie sú nastavené publish_date ani unpublish_date.
SQL používa COALESCE(published, 1) = 1, graf efektívnu publikačnú hodnotu.
Zdrojový JSON a SQLite zachovávajú pôvodné null; grafový builder ho
normalizuje na efektívne true. Všetkých 16 pôvodne neoznačených dokumentov
je teda dostupných v oboch vetvách. Jeden explicitne nepublikovaný dokument
sa predvolene vylúči.
Pri RAG sa filter aplikuje na FTS, embeddingy aj všetky rozšírenia kontextu. Pri grafe platí pre katalóg entít, fakty, spoločné vlastnosti, počítanie, prechádzanie grafu a zoznam zdrojov. Entity doložené iba skrytými dokumentmi sa nezaradia do verejného katalógu. Pôvod názvu témy a canonical profilu osoby sa kontroluje podľa príslušného zdrojového dokumentu.
Výslovné zahrnutie nepublikovaných dokumentov pre autorizované volanie:
{"query": "vyhľadávací dotaz", "published_only": false}
Python funkcie používajú rovnaký parameter published_only=False.
Oba vyhľadávacie CLI podporujú --include-unpublished. Pred pripojením
nástrojov do OpenWebUI sa používa aktuálna OpenAPI schéma s novým defaultom.
Migrácia uloženého grafu
Po nasadení sa vykoná spoločná synchronizácia. Tá opraví staré zamenenie
chýbajúcej hodnoty s false a doplní pôvod názvu témy. Verzia indexov obsahuje
publication_policy: explicit-false-hidden-v1. Pred migráciou predvolené
grafové vyhľadávanie vyžaduje synchronizáciu a health uvádza
publication_sync_required. Existujúce historické merania sa neprepisujú;
časť klasického baseline používala aj nepublikované dokumenty.
/health
HTTP 200 a status=ok označujú živý API proces. ready znamená pripravenosť
oboch vyhľadávacích nástrojov. Klient/agenta pri výbere konkrétneho nástroja
zaujímajú samostatné položky tools:
tools.rag: čitateľný SQLite/FTS5/embedding index, zhoda verzie a známa úspešná inicializácia embeddingového modelu. Úspešné vyhľadanie alebo sync obnoví stav modelu po prípadnom zlyhaní inicializácie.tools.neo4j: dostupné spojenie a vykonanie read-only sondy v databáze. Sonda používa krátke časové limity a nevykonáva automatické opakovania transakcií.tools.graphrag: dostupné Neo4j, neprázdny graf, zhodná generácia dát a migrovaná publikačná politika.
Výpadok Neo4j nespôsobí nedostupnosť RAG. Neplatný SQLite index môže vyradiť RAG, pričom graf ostane dostupný. Počas nejasného prepnutia generácie sa vyhľadávacie nástroje označia ako nedostupné; stav samotného Neo4j sa uvádza samostatne. Odpovede neobsahujú prihlasovacie údaje ani surové chyby drivera.
Príklad výpadku Neo4j, skrátený na rozhodujúce polia:
{
"status": "ok",
"ready": false,
"tools": {
"rag": {"ready": true, "status": "ready", "reason": null},
"neo4j": {"ready": false, "status": "unavailable", "reason": "unreachable"},
"graphrag": {"ready": false, "status": "unavailable", "reason": "neo4j_unavailable"}
}
}
Ide o dostupnosť retrieval nástrojov. Health neposiela otázky školskému LLM a nemeria dostupnosť externého generatívneho modelu ani presnosť odpovedí.
Overenie nasadenia 25. 10. 2026
- Kompletná regresná sada: 485 úspešných testov, 4 preskočené. Zahŕňa skutočné Cypher testy filtrovania, agregácie a grafových prechodov nad izolovaným Neo4j grafom s rollbackom.
- Docker image bol znovu zostavený a API nasadené. Autentifikovaný
/syncbez Git pullu obnovil 114 dokumentov, 887 chunkov a graf 447 uzlov/879 vzťahov. - Reálne
/search,/ragasearch_graph()overili predvolené vylúčenie skrytého dokumentu aj jeho zahrnutie pripublished_only=false. - HTTP
/healthhlási všetky tri stavy pripravené; SQLite, súborová verzia a Neo4j používajú rovnakú novú generáciu dát. - Sonda s nefunkčnou adresou Neo4j potvrdila dostupnosť RAG pri nedostupnom grafe. Sonda s chýbajúcim SQLite indexom potvrdila dostupnosť grafu pri nedostupnom RAG. Produkčné služby sa pri týchto sondách nevypínali.
Strojovo čitateľný výsledok a identifikácia dát: publikovanie_a_dostupnost_overenie.json.