p101a
This commit is contained in:
@@ -68,7 +68,35 @@ final class AdminEvalController extends AbstractController
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/case/create', name: 'admin_evals_case_create', methods: ['POST'])]
|
||||
#[Route('/cases/new', name: 'admin_evals_case_new', methods: ['GET'])]
|
||||
public function newCase(Request $request, EvalAdminService $evals): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted(ApplicationRoles::ROLE_KNOWLEDGE_ADMIN);
|
||||
|
||||
$type = trim((string) $request->query->get('type', 'retrieval'));
|
||||
if (!in_array($type, $evals->supportedTypeNames(), true)) {
|
||||
$type = 'retrieval';
|
||||
}
|
||||
|
||||
$sourceType = trim((string) $request->query->get('source_type', ''));
|
||||
$sourceCaseId = trim((string) $request->query->get('source_case_id', ''));
|
||||
|
||||
try {
|
||||
$draft = $sourceType !== '' && $sourceCaseId !== ''
|
||||
? $evals->caseDraftFromReportResult($sourceType, $sourceCaseId)
|
||||
: $evals->emptyCaseDraft($type);
|
||||
} catch (\Throwable $e) {
|
||||
$this->addFlash('warning', $e->getMessage());
|
||||
$draft = $evals->emptyCaseDraft($type);
|
||||
}
|
||||
|
||||
return $this->render('admin/evals/case_new.html.twig', [
|
||||
'types' => $evals->supportedTypes(),
|
||||
'case_draft' => $draft,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/cases', name: 'admin_evals_case_create', methods: ['POST'])]
|
||||
public function createCase(Request $request, EvalAdminService $evals): Response
|
||||
{
|
||||
$this->denyAccessUnlessGranted(ApplicationRoles::ROLE_KNOWLEDGE_ADMIN);
|
||||
@@ -78,6 +106,15 @@ final class AdminEvalController extends AbstractController
|
||||
}
|
||||
|
||||
$type = trim((string) $request->request->get('type', 'retrieval'));
|
||||
$draft = [
|
||||
'type' => $type,
|
||||
'id' => (string) $request->request->get('id', ''),
|
||||
'prompt' => (string) $request->request->get('prompt', ''),
|
||||
'assert_json' => (string) $request->request->get('assert_json', ''),
|
||||
'history_json' => (string) $request->request->get('history_json', ''),
|
||||
'request_context_hint' => (string) $request->request->get('request_context_hint', ''),
|
||||
'source_label' => '',
|
||||
];
|
||||
|
||||
try {
|
||||
$created = $evals->createCase(
|
||||
@@ -95,17 +132,21 @@ final class AdminEvalController extends AbstractController
|
||||
'success',
|
||||
sprintf('Eval-Case "%s" wurde in %s.ndjson gespeichert.', (string) ($created['id'] ?? ''), $type)
|
||||
);
|
||||
|
||||
return $this->redirectToRoute('admin_evals_index', [
|
||||
'type' => $type,
|
||||
]);
|
||||
} catch (\Throwable $e) {
|
||||
$this->addFlash('danger', $e->getMessage());
|
||||
}
|
||||
|
||||
if (!in_array($type, $evals->supportedTypeNames(), true)) {
|
||||
$type = 'retrieval';
|
||||
$draft['type'] = 'retrieval';
|
||||
}
|
||||
|
||||
return $this->redirectToRoute('admin_evals_index', [
|
||||
'type' => $type,
|
||||
]);
|
||||
return $this->render('admin/evals/case_new.html.twig', [
|
||||
'types' => $evals->supportedTypes(),
|
||||
'case_draft' => $draft,
|
||||
], new Response('', Response::HTTP_UNPROCESSABLE_ENTITY));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user