include agent

This commit is contained in:
team2
2026-02-17 21:06:21 +01:00
parent 0f617ebe0c
commit 8f563f2c9a
2 changed files with 63 additions and 16 deletions

View File

@@ -76,8 +76,8 @@ services:
App\Infrastructure\OllamaClient:
arguments:
$apiUrl: '%env(OLLAMA_API_URL)%'
$model: '%env(OLLAMA_MODEL)%'
$apiUrl: '%env(AI_LLM_API_URL)%'
$model: '%env(AI_LLM_MODEL)%'
$timeoutSeconds: 600
$configProvider: '@App\Service\ModelGenerationConfigProvider'

View File

@@ -1,10 +1,11 @@
{% extends 'admin/base.html.twig' %}
{% block title %}KI Modell-Generierung Config{% endblock %}
{% block title %}KI Modell-Generierung{% endblock %}
{% block body %}
<div class="d-flex justify-content-between align-items-center mb-4">
<h1 class="h3">KI Modell-Generierung Config</h1>
<h1 class="h3 mb-0">KI Modell-Generierung</h1>
{% if is_granted('ROLE_SUPER_ADMIN') %}
<a href="{{ path('admin_model_config_create') }}"
@@ -16,7 +17,8 @@
<div class="card bg-black border-secondary">
<div class="card-body p-0">
<table class="table table-dark table-striped table-hover mb-0 align-middle">
<table class="table table-dark table-striped table-hover align-middle mb-0">
<thead class="table-secondary text-dark">
<tr>
<th>Modell</th>
@@ -28,14 +30,20 @@
<th>Repeat</th>
<th>Ctx</th>
<th>Status</th>
<th class="text-end">Aktion</th>
<th class="text-end">Aktionen</th>
</tr>
</thead>
<tbody>
{% for config in configs %}
<tr>
<td>{{ config.modelName }}</td>
<td>
<span class="text-info">{{ config.modelName }}</span>
</td>
<td>v{{ config.version }}</td>
<td>
{% if config.stream %}
<span class="badge bg-info text-dark">Streaming</span>
@@ -43,6 +51,7 @@
<span class="badge bg-secondary">Blocking</span>
{% endif %}
</td>
<td>{{ config.temperature }}</td>
<td>{{ config.topK }}</td>
<td>{{ config.topP }}</td>
@@ -60,19 +69,32 @@
</td>
<td class="text-end">
{% if not config.active and is_granted('ROLE_SUPER_ADMIN') %}
<a href="{{ path('admin_model_config_activate', {id: config.id}) }}"
class="btn btn-sm btn-outline-success me-2">
Aktivieren
</a>
{# Aktivieren via POST + CSRF #}
<form method="post"
action="{{ path('admin_model_config_activate', {id: config.id}) }}"
class="d-inline"
onsubmit="return confirm('Diese Konfiguration aktivieren?');">
<input type="hidden"
name="_token"
value="{{ csrf_token('activate_model_config_' ~ config.id) }}">
<button class="btn btn-sm btn-outline-success me-2">
Aktivieren
</button>
</form>
{# Löschen via POST + CSRF #}
<form method="post"
action="{{ path('admin_model_config_delete', {id: config.id}) }}"
style="display:inline-block"
onsubmit="return confirm('Wirklich löschen?');">
class="d-inline"
onsubmit="return confirm('Konfiguration wirklich löschen?');">
<input type="hidden" name="_token"
<input type="hidden"
name="_token"
value="{{ csrf_token('delete_model_config_' ~ config.id) }}">
<button class="btn btn-sm btn-outline-danger">
@@ -80,9 +102,13 @@
</button>
</form>
{% else %}
<span class="text-secondary small">—</span>
{% endif %}
</td>
</tr>
{% else %}
<tr>
<td colspan="10" class="text-center text-secondary py-4">
@@ -90,13 +116,34 @@
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
<div class="mt-4 small text-secondary">
<div class="mt-4 mb-4 small text-secondary">
Hinweis: Änderungen wirken sich unmittelbar auf die Generierungsparameter
des aktiven Modells aus. Nur eine Konfiguration pro Modell kann aktiv sein.
des aktiven Modells aus. Pro Modell kann nur eine Version aktiv sein.
</div>
<h2 class="h4 mb-4">Agent Live Test</h2>
<div class="card bg-black border-info">
<div class="card-body p-0">
<iframe
src="/index.html?admin_test=1"
class="w-100 border-0"
style="height:75vh;"
></iframe>
</div>
</div>
<div class="mt-3 small text-secondary">
Der Agent läuft im isolierten Admin-Test-Modus.
Keine Persistenz. Keine produktive Session.
</div>
{% endblock %}