PII Masker and Zilliz Cloud Integration
PII Masker and Zilliz Cloud integrate to build privacy-compliant RAG applications, combining PII Masker's open-source tool for detecting and masking Personally Identifiable Information with Zilliz Cloud's high-performance vector database for secure, scalable retrieval without exposing sensitive data.
Utilisez cette intégration gratuitementQu’est-ce que PII Masker
PII Masker, développé par HydroX AI, est un outil open source avancé conçu pour protéger les données sensibles en exploitant des modèles d’IA de pointe. Il détecte et masque ou remplace les informations personnelles identifiables (PII), notamment les noms, adresses, numéros de téléphone, adresses e-mail et numéros d’identification. En utilisant le modèle NLP DeBERTa-v3 avec une prise en charge allant jusqu’à 1 024 tokens, PII Masker traite efficacement de grands ensembles de données tout en protégeant les informations sensibles — ce qui est particulièrement précieux pour les applications d’IA qui traitent des journaux de service client, des dossiers médicaux et des documents financiers.
En s’intégrant à Zilliz Cloud (Milvus entièrement géré), PII Masker ajoute une couche de sécurité distincte en filtrant ou en anonymisant les PII avant que les données ne soient ingérées dans la base de données vectorielle, permettant aux organisations de créer des systèmes RAG performants et évolutifs qui traitent des ensembles de données complexes et à grande échelle sans compromettre la confidentialité ni la conformité aux réglementations sur la protection de la vie privée.
Avantages de l’intégration de PII Masker + Zilliz Cloud
- RAG conforme à la confidentialité : PII Masker détecte et masque automatiquement les informations sensibles avant que les données ne soient stockées dans Zilliz Cloud, garantissant que les applications RAG n’exposent jamais de données personnelles dans les réponses des LLM.
- Détection des PII alimentée par l’IA : Grâce au modèle DeBERTa-v3, PII Masker identifie les données sensibles avec une grande précision parmi les noms, adresses, numéros de téléphone, e-mails et numéros d’identification — de manière plus fiable que les approches fondées sur des règles.
- Architecture de sécurité en couches : L’intégration crée une approche à deux couches dans laquelle PII Masker filtre les données sensibles avant l’ingestion et Zilliz Cloud fournit un stockage et une récupération vectoriels sécurisés, garantissant une protection de la confidentialité de bout en bout.
- Prise en charge de la conformité : Les organisations qui traitent des données clients peuvent respecter les réglementations sur la confidentialité tout en créant des applications d’IA puissantes, car les PII sont masquées avant d’entrer dans la base de données vectorielle et le pipeline LLM.
Fonctionnement de l’intégration
PII Masker sert de couche de confidentialité des données, en traitant les données textuelles avant qu’elles n’entrent dans le pipeline RAG. Il utilise le modèle NLP DeBERTa-v3 pour détecter les entités PII (noms, adresses, numéros de téléphone, etc.) et les remplace par des jetons de masquage (par exemple,
[B-NAME],[B-PHONE_NUM],[I-STREET_ADDRESS]), garantissant que les informations sensibles sont supprimées avant l’intégration et le stockage.Zilliz Cloud sert de couche de base de données vectorielle, en stockant et en indexant les embeddings de texte masqué pour une recherche de similarité rapide. Comme les données sont déjà anonymisées avant l’ingestion, la base de données vectorielle ne contient que du contenu sûr pour la confidentialité, qui peut être récupéré sans risque d’exposition de PII.
Ensemble, PII Masker et Zilliz Cloud créent un pipeline RAG sécurisé : le texte brut contenant des PII est traité par PII Masker afin de remplacer les informations sensibles par des jetons de masquage, le texte masqué est ensuite intégré et stocké dans Zilliz Cloud, et lorsque les utilisateurs interrogent le système, le LLM génère des réponses basées sur le contexte anonymisé — empêchant ainsi efficacement toute PII d’être exposée dans la sortie.
Guide étape par étape
1. Démarrer avec PII Masker
Clonez le dépôt et téléchargez le modèle :
$ git clone https://github.com/HydroXai/pii-masker-v1.git $ cd pii-masker-v1/pii-maskerTéléchargez le modèle depuis
https://huggingface.co/hydroxai/pii_model_weight, et remplacez-le par les fichiers dans :pii-masker/output_model/deberta3base_1024/2. Installer les dépendances
$ pip install --upgrade pymilvus openai requests tqdm datasetConfigurez la clé API OpenAI :
$ export OPENAI_API_KEY=sk-***********3. Préparer et masquer les données
Créez des lignes de texte d’exemple contenant des PII, puis masquez-les à l’aide de PII Masker :
from model import PIIMasker masker = PIIMasker() text_lines = [ "Alice Johnson, a resident of Dublin, Ireland, attended a flower festival at Hyde Park on May 15, 2023. She entered the park at noon using her digital passport, number 23456789...", "Hiroshi Tanaka, a businessman from Tokyo, Japan, went to attend a tech expo at the Berlin Convention Center on November 10, 2023...", ] masked_results = [] for full_text in text_lines: masked_text, _ = masker.mask_pii(full_text) masked_results.append(masked_text) for res in masked_results: print(res + "\n")4. Préparer le modèle d’embedding
Initialisez le client OpenAI et définissez la fonction d’embedding :
from openai import OpenAI openai_client = OpenAI() def emb_text(text): return ( openai_client.embeddings.create(input=text, model="text-embedding-3-small") .data[0] .embedding ) test_embedding = emb_text("This is a test") embedding_dim = len(test_embedding)5. Charger les données masquées dans Milvus
Créez une collection et insérez les données masquées et intégrées :
from pymilvus import MilvusClient from tqdm import tqdm milvus_client = MilvusClient(uri="./milvus_demo.db") collection_name = "my_rag_collection" if milvus_client.has_collection(collection_name): milvus_client.drop_collection(collection_name) milvus_client.create_collection( collection_name=collection_name, dimension=embedding_dim, metric_type="IP", consistency_level="Strong", ) data = [] for i, line in enumerate(tqdm(masked_results, desc="Creating embeddings")): data.append({"id": i, "vector": emb_text(line), "text": line}) milvus_client.insert(collection_name=collection_name, data=data)Concernant l’argument de
MilvusClient: définir leuricomme un fichier local, par exemple./milvus.db, est la méthode la plus pratique, car elle utilise automatiquement Milvus Lite pour stocker toutes les données dans ce fichier. Si vous avez des données à grande échelle, vous pouvez configurer un serveur Milvus plus performant sur Docker ou Kubernetes. Si vous souhaitez utiliser Zilliz Cloud, le service cloud entièrement géré pour Milvus, ajustez leuriet letoken, qui correspondent au Public Endpoint et à l’API Key dans Zilliz Cloud.6. Construire le RAG et vérifier la protection des PII
Recherchez le contexte pertinent et générez une réponse :
question = "What was the office address of Hiroshi's partner from Munich?" search_res = milvus_client.search( collection_name=collection_name, data=[emb_text(question)], limit=1, search_params={"metric_type": "IP", "params": {}}, output_fields=["text"], ) context = "\n".join( [res["entity"]["text"] for res in search_res[0]] ) SYSTEM_PROMPT = """ Human: You are an AI assistant. You are able to find answers to the questions from the contextual passage snippets provided. If there are no useful information in the snippets, just say "I don't know". AI: """ USER_PROMPT = f""" Use the following pieces of information enclosed in <context> tags to provide an answer to the question enclosed in <question> tags. <context> {context} </context> <question> {question} </question> """ response = openai_client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": USER_PROMPT}, ], ) print(response.choices[0].message.content)Comme les informations personnelles identifiables (PII) ont été remplacées par des masques, le LLM ne peut pas accéder aux informations sensibles dans le contexte et répond : « Je ne sais pas. » Cela protège efficacement la confidentialité des utilisateurs.
En savoir plus
- Créer un RAG avec Milvus + PII Masker — Tutoriel officiel de Milvus pour créer un RAG avec PII Masker
- Créer un RAG sûr avec PII Masker et Milvus — Blog de Zilliz sur le RAG sûr avec masquage des PII
- Dépôt GitHub de PII Masker — Code source de PII Masker
- Site Web de HydroX AI — Site Web officiel de HydroX AI
- Dépôt GitHub de Milvus — Code source de Milvus et ressources communautaires


