V1.23.24 Externalisation des prompts et évolutions des collaborateurs

This commit is contained in:
2026-09-11 20:25:48 +00:00
parent 05df1c5a28
commit bac56b85a0
17 changed files with 787 additions and 162 deletions
+18 -9
View File
@@ -58,6 +58,8 @@
* déjà établie par l'appelant (db.php).
*/
require __DIR__ . '/moteur_prompts.php';
// ASP_Fonctions.FON_Nom = 'MAJUSCULE' (Nature=Traitement)
// Met en majuscules la valeur d'un champ, en respectant les caractères
// accentués français (mb_strtoupper avec encodage explicite : un simple
@@ -216,6 +218,21 @@ function consigne_completer_code_postal(array $valeurs): array
return $valeurs;
}
// Prompt sorti du code le 11 septembre 2026 — chargé ici (pas reçu de
// l'appelant : cette fonction, comme les autres Traitements à un/plusieurs
// champs, ne reçoit pas $pdo par contrat, voir en-tête de fichier) via sa
// propre connexion, comme le ferait n'importe quel autre endpoint. Un
// échec ici est traité comme la clé API absente ci-dessus : aucun appel
// réseau OpenAI n'a encore été tenté, donc pas de "_realisation" à poser,
// seulement l'avertissement écran.
try {
$promptSysteme = chargerPromptSysteme(getDbConnection(), 'CONTACT_IA_CODE_POSTAL');
} catch (Throwable $e) {
$valeurs['_avertissement'] = "Code postal non déterminé pour « $ville » "
. "(prompt système indisponible). Saisissez le code postal vous-même.";
return $valeurs;
}
$schema = [
'type' => 'object',
'properties' => [
@@ -231,15 +248,7 @@ function consigne_completer_code_postal(array $valeurs): array
$corpsRequete = [
'model' => 'gpt-5.6-luna', // même modèle que contact_ia_interprete.php, voir ce fichier.
'messages' => [
[
'role' => 'system',
'content' => "Tu donnes le code postal français d'une ville, pour un CRM. "
. "N'invente jamais un code postal : renvoie null si tu n'es pas "
. "raisonnablement sûr, si la ville est ambiguë ou inconnue, ou si "
. "elle est à cheval sur plusieurs codes postaux sans qu'un seul soit "
. "clairement le principal (ex. grandes villes découpées en "
. "arrondissements).",
],
['role' => 'system', 'content' => $promptSysteme],
['role' => 'user', 'content' => $ville],
],
'response_format' => [