Skip to main content
Les garde-fous interviennent activement dans le comportement de votre application LLM en fonction des scores attribués par des juges LLM. Ils s’exécutent en temps réel avant que les réponses n’atteignent les utilisateurs et peuvent bloquer ou modifier des réponses lorsque les scores dépassent les seuils définis. Vous pouvez utiliser des garde-fous pour bloquer les contenus toxiques, filtrer les réponses afin de détecter des Personally Identifiable Information (PII), ou bloquer les entrées abusives envoyées par les utilisateurs.

Comment fonctionnent les garde-fous Weave

Les garde-fous Weave utilisent des Weave Évaluateurs inline pour évaluer les entrées d’un utilisateur ou les sorties d’un LLM, et ajuster les réponses du LLM en temps réel. Vous pouvez configurer des évaluateurs personnalisés ou utiliser des évaluateurs intégrés pour évaluer le contenu à diverses fins. Ce guide montre comment utiliser ces deux types d’évaluateurs comme garde-fous. Si vous souhaitez attribuer passivement un score au trafic de production sans modifier le flux de contrôle de votre application, utilisez plutôt des monitors. Contrairement aux monitors, les garde-fous nécessitent des modifications du code, car ils affectent le flux de contrôle de votre application. Cependant, chaque résultat produit par un évaluateur de garde-fou est automatiquement stocké dans la base de données de Weave. Vos garde-fous servent donc aussi de monitors, sans configuration supplémentaire. Vous pouvez analyser les résultats historiques des évaluateurs, quelle que soit leur utilisation initiale.
Le SDK TypeScript de Weave ne prend pas en charge les outils requis pour configurer des garde-fous.

Optimisez les performances de vos garde-fous Weave

Comme les garde-fous peuvent interrompre le flux de contrôle de votre application et infléchir ses réponses, ils peuvent nuire aux performances s’ils sont trop complexes. Pour des performances optimales, nous vous recommandons de :
  • Garder une logique de garde-fou simple et rapide
  • Mettre en cache les résultats fréquents
  • Éviter les appels lourds à des API externes
  • Initialiser les garde-fous en dehors de vos fonctions principales pour éviter des coûts d’initialisation répétés
Initialiser vos garde-fous en dehors de votre fonction principale est particulièrement important lorsque :
  • Vos évaluateurs chargent des modèles de machine learning
  • Vous utilisez des LLM locaux, où la latence est critique
  • Vos évaluateurs conservent des connexions réseau
  • Vous avez des applications à fort trafic

Exemple : créer un garde-fou à l’aide d’un scorer de modération intégré

L’exemple suivant envoie des prompts utilisateur au modèle GPT-4o mini d’OpenAI. La réponse du modèle est ensuite transmise à l’API de modération d’OpenAI dans Weave afin d’évaluer si la réponse du LLM contient du contenu nuisible ou toxique. La réponse du modèle est transmise à la fonction de garde-fou (generate_safe_response()), qui utilise OpenAIModerationScorer pour vérifier la réponse original du LLM. La logique de la fonction vérifie ensuite la réponse d’évaluation d’OpenAI pour voir si le champ passed contient une valeur booléenne, ce qui détermine la manière dont l’application répond.
Lorsque vous utilisez des LLM-as-a-judge évaluateurs, vous pouvez faire référence aux variables de vos ops dans vos prompts d’évaluation. Par exemple, “Évaluez si {output} est exact au regard de {ground_truth}.” Voir variables de prompt pour plus d’informations.

Exemple : créer un garde-fou à l’aide d’un scorer personnalisé

L’exemple suivant crée un garde-fou personnalisé qui détecte les informations personnelles identifiables (PII) dans les réponses générées par un LLM, comme les adresses e-mail, les numéros de téléphone ou les numéros de sécurité sociale. Cela évite d’exposer des informations sensibles dans le contenu généré. La fonction generate_safe_response applique le scorer personnalisé PIIDetectionScorer.

Intégrer Weave avec AWS Bedrock garde-fous

Le BedrockGuardrailScorer utilise AWS Bedrock garde-fous pour détecter et filtrer le contenu selon les politiques configurées. Avant de configurer une intégration avec Bedrock garde-fous, vous devez disposer des éléments suivants : Vous n’avez pas besoin de créer votre propre client Bedrock. Weave le crée pour vous. Pour spécifier une région, transmettez la valeur de région dans le paramètre bedrock_runtime_kwargs du scorer. Pour obtenir un exemple de création d’un garde-fou dans AWS Bedrock, consultez le notebook Bedrock garde-fous. L’exemple suivant vérifie la génération de texte par rapport aux politiques AWS Bedrock garde-fous avant de renvoyer les résultats aux utilisateurs :