p101d
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
{% extends 'admin/base.html.twig' %}
|
||||
|
||||
{% block title %}Eval-Case erstellen{% endblock %}
|
||||
{% block title %}Eval-Cases verwalten{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div class="d-flex justify-content-between align-items-center mb-4 flex-wrap gap-2">
|
||||
<div>
|
||||
<h1 class="h3 mb-1">
|
||||
<i class="bi bi-journal-plus"></i> Eval-Case erstellen
|
||||
<i class="bi bi-journal-plus"></i> Eval-Cases verwalten
|
||||
</h1>
|
||||
<div class="small text-secondary">
|
||||
Neue Regression-Cases separat anlegen, ohne die Eval-Suite-Übersicht aufzublähen.
|
||||
Neue Regression-Cases separat anlegen oder bestehende Cases entfernen, ohne die Eval-Suite-Übersicht aufzublähen.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -203,6 +203,59 @@
|
||||
</div>
|
||||
|
||||
<div class="col-xl-4">
|
||||
<div class="card bg-black border-danger text-light shadow-sm mb-4">
|
||||
<div class="card-body">
|
||||
<h5 class="text-danger mb-3">
|
||||
<i class="bi bi-trash3"></i> Bestehende Eval-Cases entfernen
|
||||
</h5>
|
||||
<p class="small text-secondary mb-3">
|
||||
Hier kannst du falsch angelegte oder nicht mehr benötigte Cases aus den
|
||||
<code>tests/evals/cases/*.ndjson</code>-Dateien entfernen. Das Löschen betrifft nur den Eval-Case,
|
||||
nicht das RAG-Wissen, nicht den Shop und nicht die bestehenden Reports.
|
||||
</p>
|
||||
|
||||
{% for type, label in types %}
|
||||
{% set cases = cases_by_type[type]|default([]) %}
|
||||
<details class="border border-secondary rounded p-3 mb-3" {% if type == case_draft.type|default('retrieval') %}open{% endif %}>
|
||||
<summary class="text-info" style="cursor:pointer;">
|
||||
{{ label }} <span class="text-secondary">({{ cases|length }} Cases)</span>
|
||||
</summary>
|
||||
|
||||
{% if cases is empty %}
|
||||
<div class="small text-secondary mt-3">
|
||||
Für diesen Typ gibt es aktuell keine Cases.
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="mt-3">
|
||||
{% for case in cases %}
|
||||
<div class="border-top border-secondary pt-3 mt-3">
|
||||
<div class="small mb-2">
|
||||
<code>{{ case.id }}</code>
|
||||
<div class="text-secondary mt-1">{{ case.prompt }}</div>
|
||||
</div>
|
||||
<form method="post"
|
||||
action="{{ path('admin_evals_case_delete') }}"
|
||||
onsubmit="return confirm('Eval-Case {{ case.id }} wirklich löschen? Diese Änderung entfernt die NDJSON-Zeile dauerhaft.');">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token('admin_eval_case_delete_' ~ type ~ '_' ~ case.id) }}">
|
||||
<input type="hidden" name="type" value="{{ type }}">
|
||||
<input type="hidden" name="case_id" value="{{ case.id }}">
|
||||
<button type="submit" class="btn btn-sm btn-outline-danger">
|
||||
<i class="bi bi-trash3"></i> Case löschen
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</details>
|
||||
{% endfor %}
|
||||
|
||||
<div class="small text-secondary">
|
||||
Nach dem Löschen solltest du den betroffenen Eval-Typ einmal ausführen, damit der Report zum neuen Case-Bestand passt.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-black border-secondary text-light shadow-sm mb-4">
|
||||
<div class="card-body">
|
||||
<h5 class="text-info mb-3">
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<div class="d-flex flex-wrap gap-2">
|
||||
<a href="{{ path('admin_evals_case_new', {type: selected_type|default('retrieval')}) }}"
|
||||
class="btn btn-sm btn-outline-warning">
|
||||
<i class="bi bi-journal-plus"></i> Eval-Case erstellen
|
||||
<i class="bi bi-journal-plus"></i> Eval-Cases verwalten
|
||||
</a>
|
||||
<a href="{{ path('admin_model_config_list') }}"
|
||||
class="btn btn-sm btn-outline-secondary">
|
||||
|
||||
Reference in New Issue
Block a user