Project

General

Profile

Actions

Feature #55

closed
RA

Feature #22: Implement 'Générer un plan d’action' button with actionable checklist for job offers

[Backend] Endpoint LLM de génération du plan d'action

Feature #55: [Backend] Endpoint LLM de génération du plan d'action

Added by Redmine Admin about 2 months ago. Updated about 2 months ago.

Status:
Shipped
Priority:
Normal
Assignee:
-
Start date:
06/11/2026
Due date:
% Done:

0%

Estimated time:
spec_ref:
build_status:
build_number:
ci_run_url:
scan_status:
scan_report_url:
deploy_status:
preprod_url:
deployed_at:
branch:
pr_url:
security_key:
severity:
paused:

Description

## Objectif
Exposer un endpoint qui génère, via LLM, un plan d'action personnalisé pour une offre donnée (à partir des métadonnées entreprise/rôle/stack et de l'intelligence existante), et retourne le contrat canonique consommé par le front.

## Périmètre
- Route API GetYourJob sous `GetYourJob/src/app/api/` (use-case dans `application/`, adaptateur LLM dans `infrastructure/`). Possibilité de déléguer à MatchingAgent (`MatchingAgent/`, FastAPI) si pertinent — choix d'implémentation non bloquant, mais le contrat de réponse reste celui ci-dessous.
- Prompt LLM produisant des items actionnables (action sur une ligne + explication courte) + un niveau de confiance global, contextualisé par les données de l'offre (ex. ESN → manager > RH).
- Persistance du plan généré via le repository de la sous-tâche [Backend] Modèle & persistance.
- Gestion d'erreur / fallback si l'appel LLM échoue.

## Contrat de réponse (canonique)
```
{
items: { action: string; explanation: string }[],
confidence: "Élevée" | "Moyenne" | "Faible"
}
```

## Dépendances
- [Backend] Modèle & persistance du plan d'action.

## Acceptance criteria
- [ ] Un endpoint accepte un identifiant d'offre et retourne un plan d'action au format canonique (items action+explanation + confidence).
- [ ] Le contenu est généré par LLM et contextualisé par les métadonnées de l'offre/entreprise.
- [ ] Le `confidence` retourné appartient à l'ensemble { Élevée, Moyenne, Faible }.
- [ ] Le plan généré est persisté pour l'offre sauvegardée de l'utilisateur.
- [ ] En cas d'échec LLM, l'endpoint renvoie une erreur exploitable (pas de crash silencieux).
- [ ] Tests couvrant le mapping de réponse et le chemin d'erreur.

Actions

Also available in: PDF Atom