AI Analysis: add custom AI prompt to job positions

This commit is contained in:
jeremy bayse
2026-03-22 23:24:20 +01:00
parent 949423b1ae
commit 937857a842
5 changed files with 51 additions and 2 deletions

View File

@@ -25,12 +25,14 @@ class JobPositionController extends Controller
'title' => 'required|string|max:255',
'description' => 'required|string',
'requirements' => 'nullable|array',
'ai_prompt' => 'nullable|string',
]);
JobPosition::create([
'title' => $request->title,
'description' => $request->description,
'requirements' => $request->requirements,
'ai_prompt' => $request->ai_prompt,
]);
return back()->with('success', 'Fiche de poste créée avec succès.');
@@ -44,12 +46,14 @@ class JobPositionController extends Controller
'title' => 'required|string|max:255',
'description' => 'required|string',
'requirements' => 'nullable|array',
'ai_prompt' => 'nullable|string',
]);
$jobPosition->update([
'title' => $request->title,
'description' => $request->description,
'requirements' => $request->requirements,
'ai_prompt' => $request->ai_prompt,
]);
return back()->with('success', 'Fiche de poste mise à jour.');

View File

@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
#[Fillable(['title', 'description', 'requirements'])]
#[Fillable(['title', 'description', 'requirements', 'ai_prompt'])]
class JobPosition extends Model
{
use HasFactory;

View File

@@ -95,6 +95,9 @@ class AIAnalysisService
CONTENU DE LA LETTRE DE MOTIVATION:
" . ($letterText ?? "Non fournie") . "
CONTEXTE ADDITIONNEL & INSTRUCTIONS PARTICULIÈRES:
" . ($candidate->jobPosition->ai_prompt ?? "Aucune instruction spécifique.") . "
Fournis une analyse structurée en JSON avec les clés suivantes:
- match_score: note de 0 à 100
- summary: résumé de 3-4 phrases sur le profil