117 lines
4.4 KiB
Twig
117 lines
4.4 KiB
Twig
{% extends 'admin/base.html.twig' %}
|
||
|
||
{% block title %}Retrieval-Test{% endblock %}
|
||
|
||
{% block body %}
|
||
|
||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||
<h1 class="h3">
|
||
Retrieval-Test – {{ config.modelName }} (v{{ config.version }})
|
||
</h1>
|
||
|
||
<a href="{{ path('admin_model_config_list') }}"
|
||
class="btn btn-sm btn-outline-secondary">
|
||
Zurück
|
||
</a>
|
||
</div>
|
||
|
||
{# ====================================================== #}
|
||
{# Konfigurationsübersicht #}
|
||
{# ====================================================== #}
|
||
|
||
<div class="card bg-black border-secondary text-light mb-4">
|
||
<div class="card-body small">
|
||
|
||
<div class="row">
|
||
<div class="col-md-6">
|
||
<strong>Max Chunks:</strong>
|
||
{{ config.retrievalMaxChunks }}
|
||
</div>
|
||
|
||
<div class="col-md-6">
|
||
<strong>Vector Top K:</strong>
|
||
{{ config.retrievalVectorTopK }}
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
{# ====================================================== #}
|
||
{# Testformular #}
|
||
{# ====================================================== #}
|
||
|
||
<div class="card bg-black border-secondary text-light mb-4">
|
||
<div class="card-body">
|
||
|
||
<form method="post">
|
||
|
||
<div class="mb-3">
|
||
<label class="form-label">Test-Prompt</label>
|
||
<textarea name="prompt"
|
||
rows="3"
|
||
class="form-control bg-dark text-light border-secondary"
|
||
required>{{ prompt }}</textarea>
|
||
</div>
|
||
|
||
<button type="submit"
|
||
class="btn btn-outline-warning">
|
||
Retrieval testen
|
||
</button>
|
||
|
||
</form>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
{# ====================================================== #}
|
||
{# Ergebnisse #}
|
||
{# ====================================================== #}
|
||
|
||
{% if results is not empty %}
|
||
<div class="card bg-black border-secondary text-light">
|
||
<div class="card-body">
|
||
|
||
<h5 class="text-warning mb-3">
|
||
Gefundene Chunks ({{ results|length }})
|
||
</h5>
|
||
|
||
<div style="max-height: 500px; overflow-y: auto;">
|
||
{% for chunk in results %}
|
||
<div class="border border-secondary p-3 mb-3 small">
|
||
|
||
{# ================= META-ZEILE ================= #}
|
||
<div class="mb-2 text-warning" style="font-size: 11px; line-height: 1.4;">
|
||
<span class="text-info"><strong>rank:</strong> {{ chunk.rank }}</span> |
|
||
<span class="text-info"><strong>chunk_id:</strong> {{ chunk.chunk_id }}</span> |
|
||
<span class="text-info"><strong>document_id:</strong> <a
|
||
class="text-info"
|
||
href="{{ path('admin_document_show', { id: chunk.document_id }) }}">
|
||
{{ chunk.document_id }}
|
||
</a></span> |
|
||
<span><strong>raw_score:</strong> {{ chunk.raw_score|number_format(6, '.', '') }}</span>
|
||
|
|
||
<span><strong>rrf_score:</strong> {{ chunk.rrf_score|number_format(6, '.', '') }}</span>
|
||
|
|
||
<span><strong>threshold:</strong> {{ chunk.threshold }}</span> |
|
||
<span><strong>intent:</strong> {{ chunk.intent }}</span> |
|
||
<span>
|
||
<strong>is_list_query:</strong>
|
||
{{ chunk.is_list_query ? 'true' : 'false' }}
|
||
</span>
|
||
</div>
|
||
|
||
{# ================= CHUNK TEXT ================= #}
|
||
<div>
|
||
{{ chunk.text }}
|
||
</div>
|
||
|
||
</div>
|
||
{% endfor %}
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
{% endif %}
|
||
|
||
{% endblock %} |