[FIX] AI P0 da test multi-agente: anonimizzazione + grounding + dim 512
- suggestRisks: usa employeeRange() invece di employee_count esatto nel prompt (coerenza anonimizzazione con gli altri metodi verso Anthropic). - crossOrgAnalysis: era l'unico metodo con affermazioni normative senza il blocco fonti certe nel system prompt -> ora lo inietta (regole 1-5, no invenzioni, orientamento non vincolante). - EmbedService: commenti "1024 dim" -> 512 (il codice forza output_dimension=512, coerente con la collection nis2_kb size=512). - VectorService::ensureCollection default 1024 -> 512: rischio latente di creare una collection incompatibile se chiamato senza argomenti. php -l OK su tutti e 3. version 1.10.5. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c134a2d52a
commit
4ab549fc0c
@ -115,6 +115,8 @@ PROMPT;
|
|||||||
public function suggestRisks(array $organization, array $assets = []): array
|
public function suggestRisks(array $organization, array $assets = []): array
|
||||||
{
|
{
|
||||||
$assetList = empty($assets) ? 'Non disponibile' : json_encode($assets, JSON_UNESCAPED_UNICODE);
|
$assetList = empty($assets) ? 'Non disponibile' : json_encode($assets, JSON_UNESCAPED_UNICODE);
|
||||||
|
// Anonimizzazione coerente con gli altri metodi: range invece del numero esatto.
|
||||||
|
$dimensione = $this->employeeRange($organization['employee_count'] ?? 0);
|
||||||
|
|
||||||
$prompt = <<<PROMPT
|
$prompt = <<<PROMPT
|
||||||
Sei un esperto di cybersecurity risk assessment. Genera una lista di rischi cyber per questa organizzazione.
|
Sei un esperto di cybersecurity risk assessment. Genera una lista di rischi cyber per questa organizzazione.
|
||||||
@ -122,7 +124,7 @@ Sei un esperto di cybersecurity risk assessment. Genera una lista di rischi cybe
|
|||||||
## Organizzazione
|
## Organizzazione
|
||||||
- Settore: {$organization['sector']}
|
- Settore: {$organization['sector']}
|
||||||
- Tipo entità NIS2: {$organization['entity_type']}
|
- Tipo entità NIS2: {$organization['entity_type']}
|
||||||
- Dipendenti: {$organization['employee_count']}
|
- Dimensione: {$dimensione}
|
||||||
|
|
||||||
## Asset IT/OT
|
## Asset IT/OT
|
||||||
{$assetList}
|
{$assetList}
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
{"version":"1.10.4","build":"2026-05-31-v1.10.4","date":"2026-05-31","changelog":"Fix auth da test multi-agente: registrazione ora crea sessione tracciata (jti) come il login (prima l'utente registrato veniva sbattuto fuori al primo accesso, 401 JWT_NO_JTI); revoca sessione singola (Disconnetti dispositivo) ora funziona con jti esadecimale (routing {id} stringa). Dashboard gauge, risks viste e modali fornitori gia' corretti."}
|
{"version":"1.10.5","build":"2026-05-31-v1.10.5","date":"2026-05-31","changelog":"Fix AI P0 da test multi-agente: suggestRisks anonimizza la dimensione (range invece di numero esatto dipendenti); crossOrgAnalysis inietta il blocco fonti certe (orientamento non vincolante); EmbedService/VectorService allineati a 512 dim (commenti+default ensureCollection) coerenti con la collection nis2_kb."}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user