Cette fonctionnalité est accessible uniquement via le SDK Python.
Certaines organisations traitent des informations personnelles identifiables (PII), comme des noms, des numéros de téléphone et des adresses e-mail, dans leurs flux de travail de grands modèles de langage (LLM). Stocker ces données dans W&B Weave présente des risques en matière de conformité et de sécurité. Supprimer ces données avant de les consigner aide votre agent à rester conforme à des réglementations comme le RGPD et HIPAA.
La fonctionnalité Protection des données sensibles vous permet de masquer automatiquement les informations personnelles identifiables (PII) d’une trace avant son envoi aux serveurs Weave. Cette fonctionnalité intègre Microsoft Presidio au SDK Python Weave, afin que vous puissiez contrôler les paramètres de masquage au niveau du SDK.
La fonctionnalité Protection des données sensibles ajoute les fonctionnalités suivantes au SDK Python :
- Un paramètre
redact_pii, que vous pouvez activer ou désactiver dans l’appel weave.init() pour contrôler le masquage des PII.
- Le masquage automatique des entités courantes lorsque
redact_pii = True.
- Des champs de masquage personnalisables avec le paramètre configurable
redact_pii_fields.
- L’exclusion d’entités spécifiques du masquage avec le paramètre
redact_pii_exclude_fields.
Activer le masquage des PII
Cette section vous explique comment installer les dépendances requises, activer le masquage des PII dans weave.init() et, de façon facultative, définir quelles entités Weave masque. Pour commencer à utiliser la fonctionnalité protection des données sensibles de Weave, suivez les étapes ci-dessous :
-
Installez les dépendances requises :
pip install presidio-analyzer presidio-anonymizer
-
Modifiez votre appel
weave.init() pour activer le masquage. Lorsque redact_pii=True, les entités courantes sont masquées par défaut :
import weave
weave.init("my-project", settings={"redact_pii": True})
-
(Facultatif) Personnalisez les champs à masquer à l’aide du paramètre
redact_pii_fields :
weave.init("my-project", settings={"redact_pii": True, "redact_pii_fields":["CREDIT_CARD", "US_SSN"]})
Pour obtenir la liste complète des entités pouvant être détectées et masquées, voir les entités PII prises en charge par Presidio.
-
(Facultatif) Excluez certaines entités du masquage à l’aide du paramètre
redact_pii_exclude_fields. Cela est utile si vous souhaitez conserver le masquage par défaut tout en préservant certains types d’entités. L’exemple suivant montre comment masquer toutes les entités par défaut, sauf EMAIL_ADDRESS et PERSON :
weave.init("my-project", settings={"redact_pii": True, "redact_pii_exclude_fields":["EMAIL_ADDRESS", "PERSON"]})
Une fois ces étapes terminées, Weave masque les entités PII configurées dans les traces avant de les envoyer aux serveurs Weave.
Entités masquées par défaut
Cette section répertorie les types d’entités PII que Weave masque automatiquement lorsque vous activez le masquage des PII sans spécifier redact_pii_fields. Weave masque automatiquement les entités suivantes lorsque le masquage des PII est activé :
CREDIT_CARD
CRYPTO
EMAIL_ADDRESS
ES_NIF
FI_PERSONAL_IDENTITY_CODE
IBAN_CODE
IN_AADHAAR
IN_PAN
IP_ADDRESS
LOCATION
PERSON
PHONE_NUMBER
UK_NHS
UK_NINO
US_BANK_NUMBER
US_DRIVER_LICENSE
US_PASSPORT
US_SSN
Masquer les clés sensibles avec REDACT_KEYS
En plus du masquage des PII, le SDK Weave prend en charge le masquage de clés personnalisées avec REDACT_KEYS. Cette fonctionnalité est utile si vous souhaitez protéger d’autres données sensibles qui ne relèvent pas forcément des PII, mais qui doivent rester privées. Exemples :
- clés API
- en-têtes d’authentification
- jetons
- ID internes
- valeurs de configuration
Weave masque automatiquement les clés sensibles suivantes par défaut :
[
"api_key",
"auth_headers",
"authorization"
]
Si votre application utilise d’autres noms de champs contenant des valeurs sensibles, vous pouvez compléter la liste REDACT_KEYS par défaut. Ajoutez vos propres clés personnalisées à masquer dans les traces :
import weave
from weave.utils import sanitize
client = weave.init("my-project", settings={"redact_pii": True})
# Ajouter des clés personnalisées à masquer
sanitize.add_redact_key("client_id")
sanitize.add_redact_key("token")
client_id = "123"
token = "789"
@weave.op
def test(client_id, token):
return client_id + token
test(client_id, token)
Lorsque vous les consultez dans la Weave UI, les valeurs de client_id et token apparaissent sous la forme "REDACTED" :
client_id = "REDACTED"
token = "REDACTED"
- Cette fonctionnalité n’est disponible que dans le SDK Python.
- Lorsque vous activez le masquage, le temps de traitement augmente en raison de la dépendance à Presidio.