alpha new hybridretriver line
This commit is contained in:
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Controller\Admin;
|
||||
|
||||
use App\Entity\ModelGenerationConfig;
|
||||
use App\Knowledge\Retrieval\NdjsonHybridRetriever;
|
||||
use App\Repository\ModelGenerationConfigRepository;
|
||||
use App\Service\ModelGenerationConfigManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
@@ -21,7 +22,10 @@ class ModelGenerationConfigController extends AbstractController
|
||||
{
|
||||
$this->denyAccessUnlessGranted('ROLE_KNOWLEDGE_ADMIN');
|
||||
|
||||
$configs = $repository->findBy([], ['active' => 'DESC', 'modelName' => 'ASC', 'version' => 'DESC']);
|
||||
$configs = $repository->findBy(
|
||||
[],
|
||||
['active' => 'DESC', 'modelName' => 'ASC', 'version' => 'DESC']
|
||||
);
|
||||
|
||||
return $this->render('admin/model_config/list.html.twig', [
|
||||
'configs' => $configs,
|
||||
@@ -38,20 +42,24 @@ class ModelGenerationConfigController extends AbstractController
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
|
||||
$modelName = $request->request->get('model_name');
|
||||
|
||||
$modelName = (string) $request->request->get('model_name');
|
||||
$version = $repository->findNextVersion($modelName);
|
||||
|
||||
$retrievalMaxChunks = (int) $request->request->get('retrieval_max_chunks', 25);
|
||||
$retrievalVectorTopK = (int) $request->request->get('retrieval_vector_top_k', 25);
|
||||
|
||||
$config = new ModelGenerationConfig(
|
||||
modelName: $modelName,
|
||||
version: $version,
|
||||
stream: (bool)$request->request->get('stream'),
|
||||
temperature: (float)$request->request->get('temperature'),
|
||||
topK: (int)$request->request->get('top_k'),
|
||||
topP: (float)$request->request->get('top_p'),
|
||||
repeatPenalty: (float)$request->request->get('repeat_penalty'),
|
||||
numCtx: (int)$request->request->get('num_ctx'),
|
||||
active: false
|
||||
stream: (bool) $request->request->get('stream'),
|
||||
temperature: (float) $request->request->get('temperature'),
|
||||
topK: (int) $request->request->get('top_k'),
|
||||
topP: (float) $request->request->get('top_p'),
|
||||
repeatPenalty: (float) $request->request->get('repeat_penalty'),
|
||||
numCtx: (int) $request->request->get('num_ctx'),
|
||||
active: false,
|
||||
retrievalMaxChunks: $retrievalMaxChunks,
|
||||
retrievalVectorTopK: $retrievalVectorTopK
|
||||
);
|
||||
|
||||
$em->persist($config);
|
||||
@@ -75,6 +83,32 @@ class ModelGenerationConfigController extends AbstractController
|
||||
return $this->redirectToRoute('admin_model_config_list');
|
||||
}
|
||||
|
||||
#[Route('/{id}/test-retrieval', name: 'admin_model_config_test_retrieval')]
|
||||
public function testRetrieval(
|
||||
ModelGenerationConfig $config,
|
||||
Request $request,
|
||||
NdjsonHybridRetriever $retriever
|
||||
): Response {
|
||||
$this->denyAccessUnlessGranted('ROLE_KNOWLEDGE_ADMIN');
|
||||
|
||||
$results = [];
|
||||
$prompt = '';
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
$prompt = trim((string) $request->request->get('prompt'));
|
||||
|
||||
if ($prompt !== '') {
|
||||
$results = $retriever->retrieveForConfig($prompt, $config);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->render('admin/model_config/test_retrieval.html.twig', [
|
||||
'config' => $config,
|
||||
'results' => $results,
|
||||
'prompt' => $prompt,
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route('/{id}/delete', name: 'admin_model_config_delete', methods: ['POST'])]
|
||||
public function delete(
|
||||
ModelGenerationConfig $config,
|
||||
@@ -99,5 +133,4 @@ class ModelGenerationConfigController extends AbstractController
|
||||
|
||||
return $this->redirectToRoute('admin_model_config_list');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user