Cette fonctionnalité est accessible uniquement via le SDK Python.
Certaines organisations traitent des informations personnelles identifiables (PII), telles que 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 Weights & Biases (W&B) Weave présente des risques en matière de conformité et de sécurité. Empêcher l’enregistrement de ces données peut aider votre agent à rester conforme à des réglementations telles que GDPR et HIPAA.
La fonctionnalité Sensitive Data Protection 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 de Weave, ce qui signifie que vous pouvez contrôler les paramètres de masquage au niveau du SDK.
La fonctionnalité Sensitive Data Protection introduit les fonctionnalités suivantes dans le SDK Python :
- Un paramètre
redact_pii, que vous pouvez activer ou désactiver dans l’appel weave.init pour activer le masquage des PII.
- Le masquage automatique des Entities courantes lorsque
redact_pii = True.
- Des champs de masquage personnalisables à l’aide du paramètre configurable
redact_pii_fields.
- L’exclusion d’Entities spécifiques du masquage à l’aide du paramètre
redact_pii_exclude_fields.
Activer le masquage des PII
Pour commencer à utiliser la fonctionnalité Sensitive Data Protection 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 Entities 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 Entities pouvant être détectées et masquées, voir les Entities PII prises en charge par Presidio.
-
(Facultatif) Excluez certaines Entities 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’Entities. L’exemple suivant montre comment masquer toutes les Entities par défaut, sauf EMAIL_ADDRESS et PERSON :
weave.init("my-project", settings={"redact_pii": True, "redact_pii_exclude_fields":["EMAIL_ADDRESS", "PERSON"]})
Entities masquées par défaut
Les Entities suivantes sont automatiquement masquées 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
Masquage des clés sensibles avec REDACT_KEYS
En plus du masquage des PII, le SDK Weave prend également 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"
]
Vous pouvez compléter cette liste avec 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)
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.
- L’activation du masquage augmente le temps de traitement en raison de la dépendance à Presidio.