लाभ:
- एक सुरक्षित क्लाउड एलएलएम आर्किटेक्चर स्थापित करने की क्षमता जो क्लाइंट पर एपीआई कुंजी नहीं रखती है बल्कि बैक-एंड प्रॉक्सी से गुजरती है
- मजबूत एकीकरण लिखने की क्षमता जो स्ट्रीमिंग के साथ कथित गति को बढ़ाती है और टाइमआउट, नेटवर्क त्रुटियों और गति सीमा जैसी स्थितियों को धीरे से संभालती है
- भेजे गए टोकन को छोटा करके लागत को कम करने की क्षमता और क्लाउड पर जाने से पहले व्यक्तिगत डेटा की आवश्यकता पर सवाल उठाना
ऑन-डिवाइस AI शक्तिशाली है लेकिन सीमित है। जब आप किसी ऐप में वास्तव में "स्मार्ट चैट असिस्टेंट", लंबे टेक्स्ट सारांश, या जटिल रचनात्मक उत्पादन को जोड़ना चाहते हैं, तो आपको ऐसे मॉडल की आवश्यकता होती है जो फोन पर फिट होने के लिए बहुत बड़े हों। यहीं पर क्लाउड एआई काम आता है: आपका एप्लिकेशन एक एपीआई (एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस - मानक इंटरफ़ेस जहां दो सॉफ़्टवेयर एक दूसरे को डेटा भेजते और प्राप्त करते हैं) के माध्यम से एक बड़े भाषा मॉडल (एलएलएम) से जुड़ता है। इस इकाई में हम सीखेंगे कि क्लाउड एलएलएम को सुरक्षित, तेज़ और लागत-सचेत तरीके से मोबाइल एप्लिकेशन में कैसे एकीकृत किया जाए। महत्वपूर्ण जोर सुरक्षा पर होगा: गलत तरीके से स्थापित एलएलएम एकीकरण आपकी एपीआई कुंजी को लीक कर सकता है और इसके परिणामस्वरूप हजारों पाउंड का बिल आ सकता है।
वास्तुकला का सुनहरा नियम: चाबी ग्राहक के पास रखें
क्लाउड एआई एकीकरण में की जाने वाली सबसे खतरनाक गलती एपीआई कुंजी (गुप्त पासवर्ड जो सेवा का उपयोग करने की अनुमति देता है) को सीधे मोबाइल एप्लिकेशन कोड में एम्बेड करना है। मोबाइल एप्लिकेशन उपयोगकर्ता के डिवाइस पर डाउनलोड किए जाते हैं और कोड को रिवर्स इंजीनियरिंग द्वारा पढ़ा जा सकता है - संकलित एप्लिकेशन को पार्स करना और देखना कि इसके अंदर क्या है। यदि आपकी कुंजी ऐप के अंदर है, तो कोई इसे निकाल सकता है और आपके खाते से असीमित अनुरोध कर सकता है।
सही आर्किटेक्चर यह है: मोबाइल एप्लिकेशन आपके स्वयं के बैकएंड सर्वर (आपके द्वारा नियंत्रित प्रॉक्सी सर्वर) को अनुरोध भेजता है; कुंजी केवल सर्वर पर रहती है; सर्वर एलएलएम सेवा पर जाता है और एप्लिकेशन को प्रतिक्रिया देता है। यह मिडलवेयर स्पीड कैपिंग, दुरुपयोग रोकथाम और लागत नियंत्रण भी प्रदान करता है।
दृष्टिकोण
कुंजी कहां है
सुरक्षा
कुंजी एप्लिकेशन में है (गलत)
ग्राहक में, सार्वजनिक
यह लीक हो जाता है, बिल फट जाता है
कुंजी बैकएंड में है (TRUE)
सर्वर पर, छिपा हुआ
सुरक्षित, नियंत्रणीय
सावधानी: जब आप एआई से क्लाउड एलएलएम एकीकरण के लिए पूछते हैं, तो यह एक उदाहरण प्रस्तुत कर सकता है जो आपकी सुविधा के लिए कुंजी को सीधे एप्लिकेशन कोड में लिखता है। इसे कभी भी लाइव न लें. प्रॉम्प्ट में "एपीआई कुंजी क्लाइंट पर नहीं होनी चाहिए, बैकएंड प्रॉक्सी से गुजरें" वाक्य को शामिल करना सुनिश्चित करें।
स्ट्रीमिंग: अनुमानित गति बढ़ाना
एलएलएम उत्तर लंबे हो सकते हैं और उन्हें संपूर्ण रूप से प्रस्तुत करने में कुछ सेकंड लग सकते हैं। उपयोगकर्ता को खाली स्क्रीन पर प्रतीक्षा करते हुए छोड़ना एक बुरा अनुभव है। समाधान स्ट्रीमिंग है - उत्तर को शब्द दर शब्द प्रदर्शित करना, जैसा कि यह उत्पन्न होता है। उपयोगकर्ता पाठ की वर्तनी की निगरानी करता है, जैसे चैटजीपीटी में; यह नाटकीय रूप से अनुमानित गति और प्रवाह को बढ़ाता है। मोबाइल पर प्रवाह का अर्थ है टुकड़ों (टोकन - मॉडल द्वारा निर्मित पाठ का टुकड़ा) को सर्वर से इंटरफ़ेस में उनके आते ही जोड़ना। एआई में एकीकरण प्रिंट करते समय स्पष्ट रूप से प्रवाह का अनुरोध करें।
युक्ति: स्ट्रीमिंग प्रतिक्रिया में एक "रोकें" बटन जोड़ें। जब उपयोगकर्ता को वह उत्तर मिल जाए जो वह चाहता है तो उसे उत्पादन बंद करने में सक्षम होना चाहिए; यह अनुभव को बेहतर बनाता है और अनावश्यक टोकन सृजन में कटौती करके लागत को कम करता है। लंबे उत्तर के बीच में, उपयोगकर्ता को अपना उत्तर पहले ही मिल गया होगा।
लागत, विलंब और त्रुटि प्रबंधन
क्लाउड एलएलएम प्रत्येक अनुरोध के साथ धन लागत (प्रति टोकन शुल्क) और समय लागत (विलंबता) वहन करता है। तीन अनुशासन आवश्यक हैं. Cost: limit prompt and response length, do not send unnecessarily long system instructions, default to small and cheap model if possible. विलंबता: स्ट्रीमिंग का उपयोग करें, टाइमआउट सेट करें, नेटवर्क धीमा होने पर उपयोगकर्ता को सूचित करें। त्रुटि: नेटवर्क आउटेज, सेवा 429 (बहुत अधिक अनुरोध) या 500 (सर्वर त्रुटि) लौटा सकती है; प्रत्येक को धीरे से संभालें, ऐप को क्रैश न करें। इसके अलावा, एलएलएम कभी-कभी अर्थहीन या गलत (मतिभ्रम) उत्तर देता है; महत्वपूर्ण क्षेत्रों में उत्तर के सत्यापन की एक परत जोड़ें।
तीन मिनी मामले
केस 1 - लीक हुई चाबी। एक स्टार्टअप ने तेजी से बाहर निकलने के लिए ओपनएआई कुंजी को सीधे अपने रिएक्ट नेटिव ऐप में एम्बेड किया। ऐप जारी होने के तीन सप्ताह बाद, कुंजी को रिवर्स इंजीनियर किया गया और रातों-रात $2,400 मूल्य का उपयोग किया गया। टीम को कुंजी को रद्द करना पड़ा और बैकएंड प्रॉक्सी स्थापित करना पड़ा। सीख: सुविधा के लिए अपनाया गया शॉर्टकट सबसे महंगा रास्ता बन गया।
केस 2 - प्रवाह के साथ ड्रॉपआउट में कमी आई। एक शिक्षा ऐप ने सबसे पहले बिना स्ट्रीमिंग के अपना Q&A फीचर जारी किया; उपयोगकर्ता 6 सेकंड की निष्क्रिय प्रतीक्षा के बाद बाहर निकल रहे थे। जब प्रवाह जोड़ा गया, तो पहला शब्द 0.8 सेकंड में दिखाई देने लगा और परित्याग दर 48% से गिरकर 12% हो गई। वही मॉडल, वही गति - बस प्रस्तुति में अंतर है।
केस 3 - लागत नियंत्रण। एक ऐप प्रत्येक उपयोगकर्ता संदेश के साथ संपूर्ण चैट इतिहास मॉडल को भेज रहा था; लंबी बातचीत में, एक अनुरोध 8,000 टोकन तक पहुंच गया, जिससे लागत बढ़ गई। केवल अंतिम कुछ संदेश और एक सारांश भेजकर, टीम ने प्रति अनुरोध टोकन को 70% तक कम कर दिया, जिससे मासिक बिल कम होकर एक तिहाई हो गया। पाठ: आप जो भेजते हैं उसे मापें।
कमजोर संकेत/मजबूत संकेत
कमजोर संकेत: "मेरे ऐप में चैटजीपीटी जैसी चैट जोड़ें।"
शक्तिशाली संकेत: "मेरे आईओएस/स्विफ्ट एप्लिकेशन में एक चैट सहायक जोड़ें। आर्किटेक्चर: एप्लिकेशन मेरे अपने बैकएंड पर एक अनुरोध भेजता है, एलएलएम एपीआई कुंजी क्लाइंट पर नहीं है, यह प्रॉक्सी के माध्यम से जाती है। - प्रतिक्रिया स्ट्रीमिंग आती है, शब्द दर शब्द प्रदर्शित होती है - 'स्टॉप' बटन उत्पादन को बाधित करता है - टाइमआउट, नेटवर्क त्रुटि, 429 और 500 स्थितियों को शालीनता से संभालें - चैट इतिहास को छोटा करें: अंतिम 6 संदेश + सारांश (लागत) भेजें नियंत्रण)पहले वास्तुशिल्प आरेख को समझाएं, फिर क्लाइंट और प्रॉक्सी कोड अलग से दें।"
कॉपी करने योग्य टेम्पलेट
सुरक्षित आर्किटेक्चर टेम्पलेट: "मेरे [प्लेटफ़ॉर्म] एप्लिकेशन में डिज़ाइन क्लाउड एलएलएम एकीकरण। नियम: एपीआई कुंजी केवल बैकएंड में। क्लाइंट -> मेरी प्रॉक्सी -> एलएलएम। प्रॉक्सी में: प्रमाणीकरण, प्रति-उपयोगकर्ता दर सीमा, अनुरोध लॉगिंग। क्लाइंट और प्रॉक्सी जिम्मेदारियों को अलग से सूचीबद्ध करें, फिर कोड निर्यात करें।"
स्ट्रीमिंग टेम्प्लेट: "इस चैट स्क्रीन पर एक स्ट्रीमिंग प्रतिक्रिया जोड़ें: - संदेश बबल में स्निपेट आते ही जोड़ें - टाइप करते समय एक कर्सर/एनीमेशन दिखाएं - 'स्टॉप' बटन रखें, स्ट्रीम को रद्द करें - आंशिक टेक्स्ट को सुरक्षित रखें और स्ट्रीम समाप्त होने के दौरान कोई त्रुटि होने पर चेतावनी दें [मौजूदा कोड]"
लागत-विलंबता टेम्पलेट:"इस एलएलएम एकीकरण में लागत और विलंबता कम करें: - मैं भेजे गए टोकन को कैसे कम करूं (इतिहास संक्षिप्त नाम, सारांश)? - किस मामले में छोटा/सस्ता मॉडल पर्याप्त है? - टाइमआउट और पुनः प्रयास रणनीति का सुझाव दें [कोड]"
दोष सहनशीलता टेम्पलेट: "इस एलएलएम कॉल को लचीला बनाएं: - बिना नेटवर्क, टाइमआउट, 429 (दर सीमा), 500 (सर्वर) के लिए अलग व्यवहार - उपयोगकर्ता के लिए गैर-तकनीकी, विनम्र संदेश - महत्वपूर्ण उत्तरों में मतिभ्रम के जोखिम के खिलाफ सत्यापन नोट [कोड]"
सामान्य गलतियाँ
- एप्लिकेशन में एपीआई कुंजी एम्बेड करना। सबसे महंगा और आम सुरक्षा बग; कुंजी निश्चित रूप से पीछे के छोर पर है।
- प्रवाह का उपयोग नहीं किया जा रहा है. उपयोगकर्ता को लंबे उत्तरों के लिए प्रतीक्षा करते हुए छोड़ने से उपयोगकर्ता दूर चला जाएगा।
- प्रत्येक अनुरोध के साथ संपूर्ण चैट इतिहास भेजा जा रहा है। यह टोकन लागत और विलंबता को कई गुना बढ़ा देता है।
- त्रुटि स्थितियों को दरकिनार करना। यदि 429/500/टाइमआउट का समाधान नहीं किया गया तो एप्लिकेशन क्रैश या फ्रीज हो जाएगा।
- एलएलएम के उत्तर को बिना प्रश्न के सही मानना। मतिभ्रम वास्तविक है; महत्वपूर्ण क्षेत्र में सत्यापन परत जोड़ें.
- उपयोगकर्ता डेटा को अनावश्यक एलएलएम में भेजना। पूछें कि क्या व्यक्तिगत डेटा आवश्यक है या क्लाउड पर जाने से पहले उसे छुपाया जाना चाहिए।
सारांश
क्लाउड एलएलएम शानदार क्षमताएं लाता है जो डिवाइस से लेकर मोबाइल तक में फिट नहीं होती हैं, लेकिन इसके लिए सुरक्षा और लागत अनुशासन की आवश्यकता होती है। सुनहरा नियम: एपीआई कुंजी कभी भी क्लाइंट पर नहीं होती है, यह बैकएंड प्रॉक्सी के माध्यम से जाती है। प्रवाह कथित गति और अवधारण को बहुत बढ़ा देता है; "स्टॉप" बटन द्वारा समर्थित। लागत भेजे गए टोकन को छोटा करके निर्धारित की जाती है; सभी त्रुटि मामलों को शालीनतापूर्वक संभालने से लचीलापन प्राप्त होता है। एलएलएम उत्तरों में मतिभ्रम शामिल हो सकता है; महत्वपूर्ण क्षेत्रों में, सत्यापन आवश्यक है और व्यक्तिगत डेटा को क्लाउड पर भेजने से पहले उसकी समीक्षा की जाती है।
आवेदन कार्य
"पाठ सारांश" या "चैट" सुविधा के लिए "सुरक्षित आर्किटेक्चर टेम्पलेट" का उपयोग करके एआई से क्लाइंट + बैकएंड प्रॉक्सी डिज़ाइन का अनुरोध करें। सत्यापित करें कि एपीआई कुंजी केवल जेनरेट किए गए डिज़ाइन में बैकएंड में रहती है। फिर "लागत-विलंब पैटर्न" के साथ भेजे गए टोकन को कम करने के लिए कम से कम दो तरीके निकालें और त्रुटि स्थिति (उदाहरण के लिए 429) के लिए उपयोगकर्ता को प्रदर्शित होने वाला विनम्र संदेश लिखें।
चेकलिस्ट
- [ ] मैंने सत्यापित किया कि एपीआई कुंजी बैकएंड में रहती है न कि क्लाइंट पर
- [ ] मैंने प्रतिक्रिया स्ट्रीमिंग की और एक 'रोकें' बटन जोड़ा
- [ ] मैंने टाइमआउट, नेटवर्क त्रुटि, 429 और 500 स्थितियों को संभाला
- [ ] मैंने पिछले संक्षिप्त नाम/सारांश के साथ सबमिट किए गए टोकन को कम कर दिया है
- [ ] मैंने एलएलएम उत्तर में मतिभ्रम के जोखिम के विरुद्ध सत्यापन पर विचार किया
- [ ] मैंने क्लाउड पर जाने से पहले व्यक्तिगत डेटा की आवश्यकता/मास्किंग की जाँच की