optimize gui

add help text sections
This commit is contained in:
team2
2026-02-27 06:39:07 +01:00
parent e5268aa720
commit 41b595b4c5
7 changed files with 235 additions and 80 deletions

View File

@@ -9,22 +9,61 @@
</div>
{# ========================================================= #}
{# Flash Messages #}
{# TAG SYSTEM DESCRIPTION #}
{# ========================================================= #}
{#{% if app.flashes('success') %}
<ul class="alert alert-success shadow-sm">
{% for message in app.flashes('success') %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% if app.flashes('danger') %}
<ul class="alert alert-danger shadow-sm">
{% for message in app.flashes('danger') %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}#}
<div class="card bg-black border-secondary text-light mb-4 shadow-sm">
<div class="card-body">
<h5 class="text-info mb-3">Was machen Tags im System?</h5>
<p class="small text-light mb-2">
Tags dienen als semantische Routing-Ebene innerhalb des RAG-Systems.
Sie strukturieren Dokumente thematisch und beeinflussen,
welche Inhalte bei einer Nutzeranfrage priorisiert werden.
</p>
<ul class="small text-light mb-3">
<li>
Tags werden Dokumenten manuell zugewiesen.
</li>
<li>
Beim Rebuild wird aus allen Tags eine eigene
<code>tags.ndjson</code> erzeugt.
</li>
<li>
Zusätzlich wird ein separater Vektorindex
(<code>vector_tags.index</code>) aufgebaut.
</li>
<li>
Bei einer Anfrage erfolgt zunächst ein Tag-Matching,
danach wird das Chunk-Retrieval entsprechend gewichtet.
</li>
</ul>
<h6 class="text-info mt-3">Wie werden Tags bewertet?</h6>
<p class="small text-light mb-2">
Die Bewertung erfolgt über einen eigenen Vektor-Similarity-Score
im Tag-Index. Das System berechnet:
</p>
<ul class="small text-light">
<li>
Ähnlichkeit zwischen Nutzeranfrage und Tag-Embedding
</li>
<li>
Top-K Treffer im Tag-Index
</li>
<li>
Gewichtete Übergabe an das Chunk-Retrieval
</li>
</ul>
<p class="small text-light mt-2 mb-0">
Tags wirken somit als semantischer Verstärker.
Sie ersetzen kein Chunk-Retrieval, sondern steuern dessen Priorisierung.
</p>
</div>
</div>
{# ========================================================= #}
{# LIVE REBUILD STATUS (SSE) #}
@@ -40,12 +79,10 @@
<script>
const statusBox = document.getElementById('rebuild-status');
const source = new EventSource("{{ path('admin_tags_rebuild_stream') }}");
source.onmessage = function (event) {
const data = JSON.parse(event.data);
let html = '';
if (data.status === '{{ statusRunning }}') {