Vector stores और embedding लीक्स
Embeddings नंबरों की एक बेहानिकारक लिस्ट जैसी दिखती हैं। उनके साथ, और उन्हें रखने वाले vector store के साथ, उतनी ही सावधानी बरतें जितनी असली टेक्स्ट के साथ बरतते हैं।
60 सेकंड में
Vector stores और embedding लीक्स
Embeddings नंबरों की एक बेहानिकारक लिस्ट जैसी दिखती हैं। उनके साथ, और उन्हें रखने वाले vector store के साथ, उतनी ही सावधानी बरतें जितनी असली टेक्स्ट के साथ बरतते हैं।
Embeddings क्या उजागर कर सकती हैं
- समानता (similarity) की जांच की जा सकती है। कोई भी जो सर्च चला सकता है और स्कोर्स देख सकता है, वह अंदाजे आज़मा सकता है: "क्या पुणे ऑफिस के लिए लेऑफ प्लान के करीब कोई डॉक्यूमेंट है?"
- टेक्स्ट को कभी-कभी आंशिक रूप से रिकवर किया जा सकता है। रिसर्चर्स ने दिखाया है कि, कुछ स्थितियों में, embeddings से मूल टेक्स्ट के हिस्सों को फिर से बनाया जा सकता है। यह कितनी अच्छी तरह काम करता है यह मॉडल पर और अटैकर के पास किस चीज़ का एक्सेस है उस पर निर्भर करता है। यह एक एक्टिव रिसर्च का विषय है, इसलिए मानकर चलें कि ऐसा होना मुमकिन है।
- कच्चा (raw) टेक्स्ट अक्सर वहीं मौजूद होता है। कई vector stores मेटाडेटा के रूप में हर वेक्टर के बगल में मूल चंक टेक्स्ट भी रखते हैं। तब स्टोर में प्लेन टेक्स्ट वैसे भी मौजूद रहता है।
Vector stores के लिए कंट्रोल्स
| जोखिम | कंट्रोल |
|---|---|
| Vector डेटाबेस इंटरनेट से एक्सेस किया जा सकता है | सिर्फ प्राइवेट नेटवर्क; मजबूत ऑथेंटिकेशन; कोई डिफॉल्ट पासवर्ड नहीं; हर ऐप के लिए अलग क्रेडेंशियल्स |
| एक टेनेंट दूसरे के वेक्टर्स पढ़ लेता है | प्रति-टेनेंट कलेक्शन्स या नेमस्पेस, अनिवार्य फिल्टर्स, जहां संभव हो अलग कीज (keys) |
| यूज़र्स के सामने कच्चा (raw) सिमिलरिटी सर्च खुला होना | सर्च एंडपॉइंट को सीधे एक्सपोज़ न करें; केवल जवाब लौटाएं, वेक्टर्स या स्कोर्स नहीं; रेट-लिमिट लगाएं |
| डेटा रेस्ट में और ट्रांजिट में | डिस्क पर एन्क्रिप्शन और हर कनेक्शन पर TLS; कीज का सही ढंग से प्रबंधन करें |
| बैकअप, एक्सपोर्ट और टेस्ट कॉपियां | प्रोडक्शन जितनी ही सुरक्षा; असली डेटा को लापरवाही से टेस्ट सिस्टम्स में कॉपी न करें |
| डिलीशन की रिक्वेस्ट्स | हर डॉक्यूमेंट को उसके वेक्टर आईडी से मैप करें; वेक्टर्स, चंक टेक्स्ट, कैशे डिलीट करें; पॉलिसी के अनुसार बैकअप संभालें |
डिलीशन और मिटाने का अधिकार (right to erasure)
def erase_document(doc_id: str) -> None:
vector_ids = index_map.pop(doc_id, []) # doc id -> list of vector ids
if vector_ids:
vector_db.delete(ids=vector_ids)
chunk_store.delete(doc_id) # stored chunk text
answer_cache.invalidate(source=doc_id) # cached answers that cited it
audit_log.write(event="erased", doc_id=doc_id)- डिफ़ॉल्ट पासवर्ड के साथ पब्लिक पोर्ट पर Vector store
- सर्च API ब्राउज़र को स्कोर्स के साथ टॉप 50 चंक्स लौटाती है
- सोर्स डॉक्यूमेंट से उसके वेक्टर्स का कोई लिंक नहीं
- पुराने कलेक्शन्स "बस ऐसे ही" रखे हुए हैं
- प्राइवेट नेटवर्क, ऑथेंटिकेशन, अलग-अलग कीज
- सर्वर सर्च को कॉल करता है, केवल जवाब और सिटेशन्स लौटाता है
- हर वेक्टर को डॉक्यूमेंट आईडी, टेनेंट और वर्ज़न के साथ टैग किया गया है
- माइग्रेशन के बाद, एक तय शेड्यूल पर पुराने कलेक्शन्स डिलीट कर दिए जाते हैं
और देखें और पढ़ें
लैब
एक काल्पनिक vector store सेटअप का लिखित सुरक्षा रिव्यू, सुधारों और डेटा मिटाने की योजना के साथ।
समस्या
इस काल्पनिक सेटअप को पढ़ें: "हमारा HR असिस्टेंट हमारी तीन क्लाइंट कंपनियों के सभी डॉक्यूमेंट्स को एक ही कलेक्शन में स्टोर करता है। Vector डेटाबेस एक क्लाउड सर्वर पर चलता है जिसका पोर्ट इंटरनेट के लिए खुला है ताकि डेवलपर्स घर से इस तक पहुंच सकें। फ्रंट एंड सीधे सर्च एंडपॉइंट को कॉल करता है और स्कोर्स के साथ टॉप 20 चंक्स दिखाता है। चंक्स को उनके पूरे टेक्स्ट के साथ स्टोर किया जाता है। हमने पिछले महीने एक नए मॉडल के साथ सब कुछ दोबारा एम्बेड किया था; पुराना कलेक्शन अभी भी वहीं है। हम यह ट्रैक नहीं करते कि कौन से वेक्टर्स किस फ़ाइल से आए हैं।"
- कम से कम पांच समस्याएं बताएं।
- हर समस्या के लिए, एक सुधार लिखें और तय करें कि इसकी ज़िम्मेदारी किसकी होनी चाहिए।
- एक कर्मचारी के डॉक्यूमेंट्स को पूरी तरह से मिटाने के स्टेप्स लिखें।
- सुधारों को प्राथमिकता के क्रम में रखें: आप इस हफ्ते क्या करेंगे, और इस तिमाही में क्या करेंगे?
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1टीम कहती है: "हमने मेटाडेटा से पूरा टेक्स्ट हटा दिया है, इसलिए vector store में अब कोई पर्सनल डेटा नहीं है।" क्या यह सही है?दिखाएं
पूरी तरह नहीं। Embeddings अभी भी पर्सनल डेटा से ही बनी हैं, सिमिलरिटी सर्च अभी भी बता सकती है कि क्या मौजूद है, और रिसर्च से पता चलता है कि टेक्स्ट को कभी-कभी आंशिक रूप से रिकवर किया जा सकता है। नाम, पद या फ़ाइल पाथ जैसा अन्य मेटाडेटा भी पर्सनल डेटा हो सकता है। टेक्स्ट को हटाने से जोखिम कम होता है, लेकिन स्टोर को फिर भी एक्सेस कंट्रोल की ज़रूरत होती है, और डेटा मिटाने के लिए अभी भी मैपिंग की ज़रूरत होती है।
Q2लॉगिन के पीछे होने के बावजूद, vector सर्च एंडपॉइंट के लिए रेट लिमिटिंग क्यों उपयोगी है?दिखाएं
प्रोबिंग के लिए बहुत सारी क्वेरीज़ की ज़रूरत होती है: एक-एक करके अंदाज़ों को टेस्ट करना, या किसी डॉक्यूमेंट को फिर से तैयार करने के लिए बहुत सारे नतीजे इकट्ठा करना। लॉग-इन किया हुआ कोई इनसाइडर या कोई चोरी हुआ अकाउंट ऐसा कर सकता है। रेट लिमिट्स और असामान्य क्वेरी वॉल्यूम पर मिलने वाले अलर्ट्स प्रोबिंग को धीमा और साफ़ नज़र आने वाला बना देते हैं। वे लागत के दुरुपयोग को रोकने में भी मदद करते हैं।
अक्सर पूछे जाने वाले सवाल
क्या हम embeddings को हैश या स्क्रैम्बल करके सुरक्षित बना सकते हैं?
सीधे तरीके से नहीं। हैशिंग उस सिमिलरिटी को खत्म कर देती है जिससे सर्च काम करती है। रिसर्च के कुछ तरीके सर्च को काम का बनाए रखते हुए embeddings को सुरक्षित करने की कोशिश करते हैं, लेकिन उनके अपने समझौते (trade-offs) हैं। अधिकांश टीमों के लिए, मजबूत एक्सेस कंट्रोल और आइसोलेशन ही व्यावहारिक समाधान हैं।
क्या embedding इन्वर्जन आज एक व्यावहारिक खतरा है?
यह मॉडल, डेटा और अटैकर के एक्सेस पर निर्भर करता है। रिसर्च से पता चलता है कि यह कुछ स्थितियों में काम कर सकता है। चूंकि कई स्टोर्स वेक्टर्स के बगल में कच्चा टेक्स्ट भी रखते हैं, इसलिए इन्वर्जन के सवाल से ज्यादा व्यावहारिक महत्व एक्सेस कंट्रोल का है।
क्या हमें vector डेटाबेस को खुद होस्ट (self-host) करना चाहिए?
दोनों ही सुरक्षित हो सकते हैं। खुद होस्ट करने से पूरा कंट्रोल मिलता है लेकिन आपको इसे खुद ही पैच, बैकअप और सुरक्षित करना होगा। एक मैनेज्ड सर्विस इनमें से काफी कुछ खुद संभालती है, लेकिन आपको एक्सेस कॉन्फ़िगर करना होगा, डेटा कहां स्टोर है यह जांचना होगा, और कॉन्ट्रैक्ट की समीक्षा करनी होगी। अपनी टीम की स्किल्स और डेटा नियमों के आधार पर चुनाव करें।
चंक्स के अंदर मौजूद पर्सनल डेटा के बारे में क्या?
सोचें कि क्या इसे इंडेक्स करने की ज़रूरत भी है या नहीं। इंडेक्स करने से पहले पर्सनल डेटा को हटाने या मास्क करने से वह कम हो जाता है जो लीक हो सकता है। कानूनी जिम्मेदारियों से जुड़े सवालों के लिए, अपनी लीगल या प्राइवेसी टीम से बात करें।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।