Skip to main content
Ceci est un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens ci-dessous :
Dans ce guide, vous apprendrez à utiliser W&B Weave tout en préservant la confidentialité de vos informations personnelles identifiables (PII). Protéger les PII vous permet de respecter les exigences de confidentialité et de conformité, tout en tirant parti du traçage et de l’évaluation des LLM. Ce guide s’adresse aux développeurs qui intègrent Weave dans des applications LLM traitant des données utilisateur sensibles. Ce guide présente les méthodes suivantes pour identifier, masquer et anonymiser les données PII :
  1. Les expressions régulières, pour identifier et masquer les données PII.
  2. Presidio de Microsoft, un SDK Python de protection des données. Cet outil fournit des fonctionnalités de masquage et de remplacement.
  3. Faker, une bibliothèque Python qui génère des données fictives, combinée à Presidio pour anonymiser les données PII.
Vous apprendrez également à utiliser la personnalisation de la journalisation des entrées/sorties de weave.op et autopatch_settings pour intégrer le masquage et l’anonymisation des PII à votre flux de travail. Pour plus d’informations, voir Personnaliser les entrées et sorties journalisées. Pour commencer, procédez comme suit :
  1. Consultez la section Aperçu.
  2. Vérifiez que les prérequis sont remplis.
  3. Découvrez les méthodes disponibles pour identifier, masquer et anonymiser les données PII.
  4. Appliquez ces méthodes aux appels Weave.

Aperçu

Cette section présente la journalisation des entrées et des sorties à l’aide de weave.op, ainsi que les bonnes pratiques pour manipuler des données personnelles identifiables (PII) dans Weave.

Personnaliser la journalisation des entrées et des sorties avec weave.op

Les ops Weave vous permettent de définir des fonctions de post-traitement des entrées et des sorties. Ces fonctions vous permettent de modifier les données transmises à votre appel LLM ou journalisées dans Weave. L’exemple suivant définit deux fonctions de post-traitement et les transmet comme arguments à weave.op().

Bonnes pratiques pour utiliser Weave avec des données personnelles (PII)

Avant d’utiliser Weave avec des données personnelles (PII), consultez les bonnes pratiques suivantes. Elles sont regroupées par étape du cycle de vie du développement et complétées par des recommandations sur le chiffrement.

Pendant les tests

  • Journalisez des données anonymisées pour vérifier la détection des PII.
  • Suivez les processus de gestion des PII avec Weave Traces.
  • Mesurez les performances de l’anonymisation sans exposer de véritables PII.

En production

  • Ne journalisez jamais de données personnelles identifiables (PII) brutes.
  • Chiffrez les champs sensibles avant la journalisation.

Conseils de chiffrement

  • Utilisez un chiffrement réversible pour les données que vous devrez déchiffrer ultérieurement.
  • Appliquez un hachage à sens unique aux ID uniques qu’il n’est pas nécessaire de retrouver en clair.
  • Envisagez un chiffrement spécialisé pour les données que vous devez analyser sans les déchiffrer.

Prérequis

Avant d’appliquer l’une des méthodes de masquage, effectuez les étapes de configuration suivantes pour installer les dépendances, configurer les clés API, initialiser votre projet Weave et charger les données d’exemple.
  1. Commencez par installer les paquets requis.
  1. Créez des clés API aux emplacements suivants :
  1. Initialisez votre projet Weave.
  1. Chargez le jeu de données de démonstration contenant des PII, qui comprend 10 blocs de texte.

Aperçu des méthodes de masquage

Une fois les prérequis remplis, vous pouvez choisir l’une des méthodes suivantes pour détecter et protéger les données personnelles (PII). Chaque méthode identifie et masque les PII, et peut également les anonymiser :
  1. Des expressions régulières pour identifier les PII et les masquer.
  2. Microsoft Presidio, un SDK Python de protection des données qui fournit des fonctionnalités de masquage et de remplacement.
  3. Faker, une bibliothèque Python permettant de générer des données fictives.

Méthode 1 : Filtrer à l’aide d’expressions régulières

Les expressions régulières (regex) constituent une méthode simple pour identifier et masquer les données personnelles (PII). Les regex vous permettent de définir des motifs capables de reconnaître différents formats d’informations sensibles, comme les numéros de téléphone, les adresses e-mail ou les numéros de sécurité sociale. Grâce aux regex, vous pouvez parcourir de grands volumes de texte et remplacer ou masquer des informations sans recourir à des techniques de NLP plus complexes.
Pour tester la fonction, exécutez le code suivant avec un exemple de texte :

Méthode 2 : masquer avec Microsoft Presidio

Cette méthode supprime entièrement les données PII à l’aide de Microsoft Presidio. Presidio masque les PII et les remplace par un espace réservé indiquant le type de PII. Par exemple, dans "My name is Alex", Presidio remplace Alex par <PERSON>. Presidio prend en charge nativement les entités courantes. L’exemple suivant masque toutes les entités de type PHONE_NUMBER, PERSON, LOCATION, EMAIL_ADDRESS ou US_SSN. Le traitement Presidio est encapsulé dans une fonction.
Pour tester la fonction, exécutez le code suivant avec un exemple de texte :

Méthode 3 : anonymiser par remplacement avec Faker et Presidio

Au lieu de masquer le texte, vous pouvez l’anonymiser : MS Presidio remplace alors les données personnelles (PII), comme les noms et les numéros de téléphone, par des données fictives générées par la bibliothèque Python Faker. Par exemple, supposons que vous disposiez des données suivantes : "My name is Raphael and I like to fish. My phone number is 212-555-5555" Une fois traitées par Presidio et Faker, ces données pourraient ressembler à ceci : "My name is Katherine Dixon and I like to fish. My phone number is 667.431.7379" Pour utiliser Presidio conjointement avec Faker, vous devez fournir des références à vos opérateurs personnalisés. Ces opérateurs indiquent à Presidio les fonctions Faker chargées de remplacer les données personnelles par des données fictives.
Pour regrouper le code dans une seule classe et compléter la liste des entités avec celles identifiées précédemment, exécutez le code suivant :
Pour tester la fonction, exécutez le code suivant avec un exemple de texte :

Méthode 4 : utiliser autopatch_settings

Vous pouvez utiliser autopatch_settings pour configurer la gestion des données personnelles (PII) directement lors de l’initialisation, pour une ou plusieurs des intégrations LLM prises en charge. W&B recommande cette approche si vous souhaitez centraliser la gestion des PII pour tous les appels à une intégration donnée. Cette méthode présente les avantages suivants :
  1. La logique de gestion des PII est centralisée et définie dès l’initialisation, ce qui évite de disperser une logique personnalisée dans le code.
  2. Vous pouvez personnaliser ou désactiver entièrement les flux de travail de traitement des PII pour certaines intégrations.
Pour configurer la gestion des PII avec autopatch_settings, définissez postprocess_inputs ou postprocess_output dans op_settings pour l’une des intégrations LLM prises en charge.

Appliquer les méthodes aux appels Weave

Maintenant que vous avez vu chaque méthode de masquage séparément, les exemples suivants montrent comment les intégrer dans des modèles Weave et prévisualiser les résultats dans Weave Traces. Commencez par créer un modèle Weave. Un modèle Weave regroupe des informations telles que les paramètres de configuration, les poids du modèle et le code qui définit le fonctionnement du modèle. Le modèle comprend une fonction predict qui appelle l’API Anthropic. Claude Sonnet d’Anthropic effectue une analyse de sentiment, tandis que les appels LLM sont tracés à l’aide de Traces. Claude Sonnet reçoit un bloc de texte et renvoie l’une des classifications de sentiment suivantes : positif, négatif ou neutre. Le modèle comprend également les fonctions de post-traitement qui garantissent que les données personnelles (PII) sont masquées ou anonymisées avant d’être envoyées au LLM. Une fois ce code exécuté, vous obtenez des liens vers la page du projet Weave, ainsi que vers la trace (appels LLM) correspondant à votre exécution. Utilisez ces liens pour vérifier que les fonctions de post-traitement ont bien masqué ou anonymisé l’entrée avant qu’elle n’atteigne le LLM.

Méthode regex

Pour commencer, vous pouvez utiliser des regex afin d’identifier et de masquer les données personnelles (PII) dans le texte d’origine.

Méthode de masquage Presidio

Utilisez ensuite Presidio pour identifier et masquer les données PII du texte original.
Processus de masquage des PII avec Presidio, montrant les entités PII identifiées et le texte masqué obtenu en sortie

Méthode de remplacement avec Faker et Presidio

Dans cet exemple, vous utilisez Faker pour générer des données PII de remplacement anonymisées, et Presidio pour identifier et remplacer les données PII dans le texte d’origine.
Processus de remplacement des PII avec Faker et Presidio, montrant le texte d’origine, les PII identifiées et les valeurs de remplacement anonymisées

Méthode autopatch_settings

Dans l’exemple suivant, postprocess_inputs pour anthropic est défini sur la fonction postprocess_inputs_regex() lors de l’initialisation. La fonction postprocess_inputs_regex applique la méthode redact_with_regex définie dans Méthode 1 : Filtrer à l’aide d’expressions régulières. Ainsi, redact_with_regex s’applique à toutes les entrées de n’importe quel modèle anthropic.

Facultatif : chiffrer vos données

Processus de chiffrement des données PII avec sortie de texte chiffré et gestion des clés de chiffrement
Outre l’anonymisation des PII, vous pouvez renforcer la sécurité en chiffrant vos données avec le chiffrement symétrique Fernet de la bibliothèque cryptography. Ainsi, même si les données anonymisées sont interceptées, elles restent illisibles sans la clé de chiffrement. L’exemple suivant montre comment chiffrer le texte d’entrée avant sa journalisation, puis le déchiffrer dans la méthode predict du modèle.
Dernière modification le 30 septembre 2026