Guardrails

TsgcAIGuardrails si colloca tra la tua applicazione e il modello linguistico. I dati personali vengono sostituiti da segnaposto prima che una richiesta lasci l'applicazione e ripristinati nella risposta, gli strumenti vengono consentiti, negati o inviati all'approvazione in base al nome, e le risposte strutturate vengono validate rispetto a uno schema JSON.

TsgcAIGuardrails

Un solo componente per le regole di cui una funzione di IA ha bisogno prima della produzione. Assegnalo a TsgcAIChat.Guardrails e ogni richiesta della chat, e ogni esecuzione di un agente su quella chat, segue le stesse regole qualunque sia il provider che risponde.

Classe del componente

TsgcAIGuardrails

Scopo

Oscuramento dei dati personali, regole sugli strumenti e validazione delle risposte

Famiglia

Chat e agenti

Piattaforme

Windows, macOS, Linux, iOS e Android

Edizioni. TsgcAIGuardrails è incluso in sgcAI, in sgcWebSockets Enterprise e in All-Access, le stesse edizioni di TsgcAIChat. Novità della versione 2026.11.0. sgcAI è autonomo: include il runtime sgcWebSockets Core su cui è costruito il componente. Disponibile per Delphi da 7 a 13 e per C++ Builder.

Tieni sotto controllo i dati personali e gli strumenti a rischio

Attiva l'oscuramento, elenca gli strumenti consentiti e negati, imposta lo schema, assegna i guardrails alla chat.

uses
  sgcAI, sgcAI_Chat, sgcAI_Guardrails;

procedure TForm1.ProtectChat;
var
  vText, vError: string;
begin
  // personal data never leaves the application
  sgcAIGuardrails1.PII.Enabled := True;
  sgcAIGuardrails1.PII.CustomPatterns.Add('EmployeeId=EMP-####');
  // read and search tools are allowed, deleting never is
  sgcAIGuardrails1.AllowedTools.Add('read_*');
  sgcAIGuardrails1.AllowedTools.Add('search_*');
  sgcAIGuardrails1.DeniedTools.Add('*delete*');
  sgcAIGuardrails1.ToolApproval := aigaNotReadOnly;
  // structured answers must match the schema
  sgcAIGuardrails1.Schema.Enabled := True;
  sgcAIGuardrails1.Schema.JSONSchema := '{"type":"object","properties":' +
    '{"price":{"type":"number","minimum":0}},"required":["price"]}';

  sgcAIChat1.Guardrails := sgcAIGuardrails1;
  sgcAIAgent1.Chat := sgcAIChat1; // the agent follows the same tool rules

  vText := sgcAIGuardrails1.Redact('Mail bob@example.com, call +34 600 111 222');
  Memo1.Lines.Add(vText); // Mail [EMAIL_1], call [PHONE_1]
  Memo1.Lines.Add(sgcAIGuardrails1.Restore(vText)); // the original text
  if not sgcAIGuardrails1.ValidateJSON('{"price":"cheap"}',
    sgcAIGuardrails1.Schema.JSONSchema, vError) then
    Memo1.Lines.Add(vError); // $.price: expected number
end;

Proprietà e metodi principali

I membri che userai più spesso.

Oscuramento dei dati personali

Con PII.Enabled, gli indirizzi e-mail, i numeri di telefono, i numeri di carta (verificati con Luhn), gli IBAN (verificati con mod 97) e gli indirizzi IPv4 e IPv6 vengono sostituiti da segnaposto come [EMAIL_1] prima dell'invio di una richiesta, e ripristinati nella risposta finché PII.RestoreInAnswers è attivo. PII.Kinds seleziona i tipi.

Pattern personalizzati

PII.CustomPatterns aggiunge i tuoi identificatori come Name=Pattern, dove # è una cifra, @ una lettera, ? un carattere qualsiasi e * il resto di una parola, per esempio EmployeeId=EMP-#### produce [EMPLOYEEID_1].

Regole sugli strumenti

AllowedTools e DeniedTools accettano nomi di strumenti con caratteri jolly *, confrontati senza distinguere maiuscole e minuscole, e un nome negato vince sempre. Uno strumento rifiutato non viene offerto al modello e viene rifiutato di nuovo se il modello lo chiama comunque. OnToolBlocked segnala ogni rifiuto con il suo motivo.

Approvazione

ToolApproval decide quali strumenti chiedono a TsgcAIAgent.OnToolApproval prima di essere eseguiti: aigaNone, aigaNotReadOnly (il valore predefinito) o aigaAll.

Validazione dello schema

Con Schema.Enabled, le risposte strutturate vengono validate rispetto a Schema.JSONSchema: type, required, properties, additionalProperties, enum, const, minimum, maximum, lunghezze e numero di elementi. Una violazione fa scattare OnSchemaViolation con un percorso come $.price: expected number, e la chat segnala un errore invece di salvare la risposta.

Metodi

Redact, Restore, ValidateJSON e IsToolAllowed funzionano anche da soli, senza una chat. ClearRedactions dimentica la corrispondenza dei segnaposto.

Specifiche e riferimenti

Fonti autorevoli per i servizi e i protocolli usati da questo componente.

Continua a esplorare

Guida onlineRiferimento API completo e guida all'utilizzo dei componenti sgcAI.
Tutti i componenti sgcAIEsplora la matrice delle funzionalità di ogni componente sgcAI.
Scarica la versione di prova gratuitaProvalo con le tue chiavi API.
PrezziLicenze Single, Team e Site, codice sorgente completo.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e metti delle regole attorno al modello linguistico prima che raggiunga i tuoi utenti.