146 lines
5.7 KiB
Twig
146 lines
5.7 KiB
Twig
{% extends 'admin/base.html.twig' %}
|
|
|
|
{% block title %}Neues Indexierungsprofil{% endblock %}
|
|
|
|
{% block body %}
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h1 class="h3">Neues Indexierungsprofil</h1>
|
|
|
|
<a href="{{ path('admin_ingest_profile_list') }}"
|
|
class="btn btn-sm btn-outline-secondary">
|
|
Zurück
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card bg-black border-secondary text-light">
|
|
<div class="card-body">
|
|
|
|
<form method="post">
|
|
<input type="hidden"
|
|
name="_token"
|
|
value="{{ csrf_token('create_ingest_profile') }}">
|
|
|
|
<div class="row g-4">
|
|
|
|
<!-- ===================== -->
|
|
<!-- Chunking Section -->
|
|
<!-- ===================== -->
|
|
<div class="col-12">
|
|
<h5 class="text-info">Chunking</h5>
|
|
<hr class="border-secondary">
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">
|
|
Chunk Size
|
|
</label>
|
|
<select name="chunk_size"
|
|
class="form-select bg-dark text-light border-secondary"
|
|
required>
|
|
{% for i in range(250, 2500, 50) %}
|
|
<option value="{{ i }}">
|
|
{{ i }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
<div class="form-text text-secondary">
|
|
Größere Werte = weniger Chunks, mehr Kontext pro Chunk.
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">
|
|
Chunk Overlap
|
|
</label>
|
|
<select name="chunk_overlap"
|
|
class="form-select bg-dark text-light border-secondary"
|
|
required>
|
|
{% for i in range(50, 200, 25) %}
|
|
<option value="{{ i }}">
|
|
{{ i }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
<div class="form-text text-secondary">
|
|
Überlappung zwischen Chunks zur Kontextstabilisierung.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ===================== -->
|
|
<!-- Embedding Section -->
|
|
<!-- ===================== -->
|
|
<div class="col-12 mt-4">
|
|
<h5 class="text-info">Embedding</h5>
|
|
<hr class="border-secondary">
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">
|
|
Embedding Model
|
|
</label>
|
|
<select name="embedding_model"
|
|
class="form-select bg-dark text-light border-secondary"
|
|
required>
|
|
<option value="all-MiniLM-L6-v2">
|
|
all-MiniLM-L6-v2 (768d)
|
|
</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">
|
|
Embedding Dimension
|
|
</label>
|
|
<input type="number"
|
|
name="embedding_dimension"
|
|
value="768"
|
|
class="form-control bg-dark text-light border-secondary"
|
|
readonly>
|
|
<div class="form-text text-secondary">
|
|
Muss mit dem Embedding-Modell übereinstimmen.
|
|
</div>
|
|
</div>
|
|
|
|
<!-- ===================== -->
|
|
<!-- Scoring Section -->
|
|
<!-- ===================== -->
|
|
<div class="col-12 mt-4">
|
|
<h5 class="text-info">Scoring</h5>
|
|
<hr class="border-secondary">
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">
|
|
Scoring Version
|
|
</label>
|
|
<input type="number"
|
|
name="scoring_version"
|
|
value="1"
|
|
class="form-control bg-dark text-light border-secondary"
|
|
readonly>
|
|
<div class="form-text text-secondary">
|
|
Erhöhung erzwingt Global Reindex.
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<hr class="border-secondary my-4">
|
|
|
|
<div class="d-flex justify-content-end">
|
|
<button type="submit"
|
|
class="btn btn-outline-info">
|
|
Profil erstellen
|
|
</button>
|
|
</div>
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="mt-4 small text-secondary">
|
|
Hinweis: Änderungen am Indexierungsprofil wirken sich auf die Struktur des
|
|
Vektor-Indexes aus. Nach Aktivierung ist ein vollständiger Reindex erforderlich.
|
|
</div>
|
|
{% endblock %}
|