Guardrails

TsgcAIGuardrails se place entre ton application et le modèle de langage. Les données personnelles sont remplacées par des marqueurs avant qu'une requête ne quitte l'application puis rétablies dans la réponse, les outils sont autorisés, refusés ou soumis à approbation selon leur nom, et les réponses structurées sont validées par rapport à un JSON Schema.

TsgcAIGuardrails

Un seul composant pour les règles dont une fonction d'IA a besoin avant la mise en production. Affecte-le à TsgcAIChat.Guardrails et chaque requête du chat, comme chaque exécution d'un agent sur ce chat, suit les mêmes règles quel que soit le fournisseur qui répond.

Classe du composant

TsgcAIGuardrails

Rôle

Masquage des PII, règles sur les outils et validation des réponses

Famille

Chat et agents

Plateformes

Windows, macOS, Linux, iOS et Android

Éditions. TsgcAIGuardrails est livré dans sgcAI, dans sgcWebSockets Enterprise et dans All-Access, les mêmes éditions que TsgcAIChat. Nouveauté de la version 2026.11.0. sgcAI est autonome : il inclut le runtime sgcWebSockets Core sur lequel le composant repose. Disponible pour Delphi 7 à Delphi 13 et C++ Builder.

Garder sous contrôle les données personnelles et les outils risqués

Active le masquage, liste les outils autorisés et refusés, définis le schéma, affecte les guardrails au 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;

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

Masquage des PII

Avec PII.Enabled, les adresses e-mail, numéros de téléphone, numéros de carte (contrôle de Luhn), IBAN (contrôle mod 97) et adresses IPv4 et IPv6 sont remplacés par des marqueurs comme [EMAIL_1] avant l'envoi d'une requête, puis rétablis dans la réponse tant que PII.RestoreInAnswers est activé. PII.Kinds sélectionne les types.

Motifs personnalisés

PII.CustomPatterns ajoute tes propres identifiants sous la forme Name=Pattern, où # est un chiffre, @ une lettre, ? n'importe quel caractère et * le reste d'un mot, par exemple EmployeeId=EMP-#### donne [EMPLOYEEID_1].

Règles sur les outils

AllowedTools et DeniedTools acceptent des noms d'outils avec des jokers *, comparés sans tenir compte de la casse, et un nom refusé l'emporte toujours. Un outil refusé n'est pas proposé au modèle et il est refusé de nouveau si le modèle l'appelle malgré tout. OnToolBlocked signale chaque refus avec sa raison.

Approbation

ToolApproval décide quels outils interrogent TsgcAIAgent.OnToolApproval avant de s'exécuter : aigaNone, aigaNotReadOnly (par défaut) ou aigaAll.

Validation de schéma

Avec Schema.Enabled, les réponses structurées sont validées par rapport à Schema.JSONSchema : type, required, properties, additionalProperties, enum, const, minimum, maximum, longueurs et nombres d'éléments. Une violation déclenche OnSchemaViolation avec un chemin comme $.price: expected number, et le chat signale une erreur au lieu de conserver la réponse.

Méthodes

Redact, Restore, ValidateJSON et IsToolAllowed fonctionnent aussi seules, sans chat. ClearRedactions oublie la correspondance des marqueurs.

Spécifications et références

Les sources faisant autorité pour les services et protocoles utilisés par ce composant.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités de chaque composant sgcAI.
Télécharger l'essai gratuitEssaie-le avec tes propres clés API.
TarifsLicences Single, Team et Site, code source complet.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et encadre le modèle de langage par des règles avant qu'il n'atteigne tes utilisateurs.