شناسایی داده ها برای LLMS: محافظت از حریم خصوصی ضمن حفظ معنی

tl ؛ دکتر: Deidentify یک کتابخانه GO وابسته به صفر است که ضمن حفظ قالب و معنی ، PII را از داده های شما حذف می کند. همان ورودی = همان خروجی ، آن را برای پیش پردازش LLM مناسب می کند. اگر آن را مفید بدانید ، آن را در GitHub ستاره کنید!
خطر پنهان در خط لوله AI شما
هر بار که داده های مشتری را به LLM ارسال می کنید ، تصمیم اعتماد می کنید. خواه GPT-4 ، Claude یا مدل داخلی شرکت شما باشد ، این داده ها کنترل شما را رها می کنند. و اگر حاوی نام ، ایمیل ، SSN یا شماره کارت اعتباری باشد ، شما یک نقض داده به دور از کابوس هستید.
سناریوی زیر را تصور کنید: شما به دنبال استفاده از LLMS برای تجزیه و تحلیل بلیط های پشتیبانی مشتری هستید. ایده عالی ، تا زمانی که حقوقی سؤال می کند: “چه اتفاقی برای داده های مشتری که ما برای OpenAI می فرستیم می افتد؟”
چرا کاهش سنتی کوتاه است
راه حل بارز این است که همه چیز را تغییر دهید. همه نام ها را با آن جایگزین کنید [REDACTED]
، همه ایمیل با [EMAIL]
، و غیره. اما مشکل اینجاست:
Original: "John Smith emailed john.smith@company.com about his order"
Redacted: "[NAME] emailed [EMAIL] about his order"
LLM زمینه انتقادی را از دست می دهد. آیا همین شخص بود؟ افراد مختلف؟ روابط بین موجودات ناپدید می شود و تجزیه و تحلیل تقریباً بی فایده است.
حفظ معنی ضمن محافظت از حریم خصوصی
آنچه شما نیاز دارید ، جایگزین و قطعی است. ورودی مشابه همیشه باید خروجی یکسانی تولید کند ، بنابراین روابط دست نخورده باقی می مانند:
Original: "John Smith emailed john.smith@company.com, then Jane Doe replied"
Better: "Robert Johnson emailed robert.j@demo.com, then Sarah Miller replied"
اکنون LLM می فهمد که ایمیل متعلق به شخص اول است ، نه دوم. داده ها ضمن محافظت از هویت های واقعی ، برای تجزیه و تحلیل مفید است.
وارد DIDENDIFY: یک راه حل GO
پس از مواجهه با این مشکل ، ما به طور مکرر ، ما Didentify را ساختیم – یک کتابخانه GO که به طور خودکار این کار را انجام می دهد. چه چیزی آن را خاص می کند:
- وابستگی های صفر – فقط کتابخانه استاندارد GO. خطرات زنجیره تأمین وجود ندارد.
- قطعی – همان کلید مخفی + همان ورودی = همان خروجی ، همیشه.
- حفظ قالب – شماره تلفن شبیه شماره تلفن ، ایمیل مانند ایمیل است.
- متن – از نام ستون برای جلوگیری از همبستگی در زمینه ها استفاده می کند.
در اینجا آنچه در عمل به نظر می رسد آمده است:
secretKey, _ := deidentify.GenerateSecretKey()
d := deidentify.NewDeidentifier(secretKey)
text := "Contact Alice at alice@startup.com or 555-123-4567"
safe, _ := d.Text(text)
// Output: "Contact Taylor at member4921@demo.co or 555-642-8317"
مثال در دنیای واقعی: تجزیه و تحلیل پشتیبانی مشتری
در شرکت فعلی من ، ما هزاران بلیط پشتیبانی را از طریق LLMS برای تجزیه و تحلیل احساسات و طبقه بندی پردازش می کنیم. قبل از DIDIDIFY:
Ticket: "Hi, I'm Bob Wilson (bob@example.com). My SSN 123-45-6789
was exposed when your system crashed. Please call me at 555-0123."
Risk: Bob's entire identity is sent to an external API.
پس از DEDIDIFY:
Ticket: "Hi, I'm Michael Davis (user7823@demo.org). My SSN 847-92-3651
was exposed when your system crashed. Please call me at 555-7492."
Result: LLM can still analyze the severity (SSN exposure) without seeing real data.
چرا اینجا مهم است
شاید تعجب کنید که چرا ما این کار را در GO ساختیم. سه دلیل:
- عمل – شناسایی گیگابایت داده ها باید سریع باشد
- اعزام – یک باینری تک ، بدون وابستگی به زمان اجرا
- امنیت – تایپ قوی در زمان کامپایل عدم تطابق از نوع PII را جلب می کند
این واقعیت که فقط از کتابخانه استاندارد Go استفاده می کند به این معنی است که می توانید بدون تعقیب وابستگی های کل ، کل پایگاه کد را حسابرسی کنید. برای تیم های آگاه امنیتی بسیار مهم است.
نکات اجرای
هنگام ادغام شناسایی در خط لوله LLM خود:
- زودتر شناسایی کنید – قبل از اینکه داده ها به صف پیام یا API شما برخورد کنند
- کلید خود را ایمن نگه دارید – کلید مخفی چیزی است که باعث می شود تعویض ها سازگار باشد
- با داده های تولید مانند آزمایش کنید – الگوهای PII براساس صنعت متفاوت است
خط لوله مثال:
// Step 1: Load customer data
data := loadCustomerData()
// Step 2: De-identify
safe := d.Table(data)
// Step 3: Send to LLM
response := llm.Analyze(safe)
// Step 4: Process results (no re-identification needed)
از این مزیت استفاده کنید
ما منبع باز را Didentify ساختیم زیرا ابزارهای حفظ حریم خصوصی باید شفاف باشند. شما می توانید هر خط کد را بازرسی کنید ، دقیقاً درک کنید که چگونه کار می کند ، و حتی پیشرفت هایی را نیز انجام می دهد.
دسته کتابخانه ها:
- نام ، ایمیل ، شماره تلفن
- SSN ، کارت های اعتباری ، آدرس
- داده های ساختاری (CSV ، صادرات پایگاه داده)
- قالب های بین المللی (100+ الگوی آدرس)
اگر اطلاعاتی را به LLMS ارسال می کنید ، DEDIDENTIFY را در GitHub بررسی کنید. و اگر شما را از نقض داده نجات می دهد ، به آن یک ستاره در نظر بگیرید – این به دیگران کمک می کند تا ابزار را پیدا کنند.