कैलोरी ट्रैकिंग आधुनिक फिटनेस ऐप्स का एक मुख्य हिस्सा है। बाजार में उपलब्ध लगभग हर लोकप्रिय कैलोरी ट्रैकर में कुछ सामान्य समस्याएं होती हैं: वे मासिक सदस्यता की मांग करते हैं, लगातार विज्ञापन दिखाते हैं, निरंतर इंटरनेट कनेक्टिविटी चाहते हैं, और आपके व्यक्तिगत भोजन की आदतों को तीसरे पक्ष के डेटा ब्रोकर्स को बेचते हैं।
नोमएआई एक अलग दृष्टिकोण अपनाता है। यह एंड्रॉइड के लिए एक मुफ्त, ओपन-सोर्स और पूरी तरह से ऑफ़लाइन कैलोरी ट्रैकिंग ऐप है, जो पूर्ण गोपनीयता और डिवाइस-पर एआई पर आधारित है।
- गिटहब रिपॉजिटरी: [नोमएआई गिटहब](P६)
नोमएआई के तीन स्तंभ
नोमएआई को मोबाइल एप्लिकेशन डेवलपमेंट में पारंपरिक पैटर्न को चुनौती देने के लिए डिज़ाइन किया गया था, जो तीन मुख्य स्तंभों पर केंद्रित है:
१. १००% मुफ्त और ओपन-सोर्स (एफओएसएस)
यहाँ कोई प्रीमियम पेवॉल नहीं है, कोई लॉक किए गए चार्ट नहीं हैं, और कोई पेमेंट गेटवे नहीं है। पूरा एप्लिकेशन एमआईटी लाइसेंस के तहत आता है और उपयोग करने, संशोधित करने और निर्माण करने के लिए पूरी तरह से मुफ्त है। प्रॉम्प्ट इंजीनियरिंग टेम्प्लेट और मॉडल कॉन्फ़िगरेशन सहित संपूर्ण स्रोत कोड किसी के लिए भी ऑडिट करने, फोर्क करने या योगदान करने के लिए उपलब्ध है।
२. गोपनीयता-प्रथम (कोई सर्वर बैकएंड नहीं)
नोमएआई का कोई रिमोट सर्वर नहीं है। डेटा भेजने के लिए हमारे पास कोई बैकएंड इंफ्रास्ट्रक्चर नहीं है। आपके शारीरिक माप, भोजन का इतिहास और पोषण संबंधी लक्ष्य विशेष रूप से आपके डिवाइस के स्थानीय रूम डेटाबेस में रहते हैं। यह केवल नीति द्वारा गोपनीयता नहीं है, यह आर्किटेक्चर द्वारा गोपनीयता है।
३. स्थानीय और ऑफ़लाइन-प्रथम एलएलएम इनफ़्रेंस
सभी भोजन विश्लेषण और मैक्रोज़ का अनुमान डिवाइस-पर किया जाता है। गूगल जेमा-२बी और गूगल के लाइटआरटी रनटाइम द्वारा संचालित, ऐप सीधे आपके फोन के अंदर प्राकृतिक भाषा इनपुट को पार्स करता है। मुख्य कार्यक्षमता के लिए कभी भी इंटरनेट कनेक्शन की आवश्यकता नहीं होती है।
ऐप इंटरफ़ेस और स्क्रीन प्रदर्शन
नोमएआई कैसा दिखता है और कैसे काम करता है, यह जानने के लिए आइए इसके स्क्रीन और उपयोगकर्ता प्रवाह को देखें।
थीम अनुकूलनता
यहाँ दिखाया गया है कि कैसे स्वच्छ, न्यूनतम लेआउट लाइट थीम और डार्क थीम के बीच बदलता है:
स्मार्ट जोड़ने की यात्रा
भोजन को ट्रैक करना पूरी तरह से स्थानीय है: अपने भोजन का सामान्य भाषा में वर्णन करें या एक फोटो लें, एआई द्वारा निकाले गए तत्वों की समीक्षा करें और उसे लॉग करें।
चार्ट, जर्नल और सेटिंग्स
साप्ताहिक चार्ट देखें, अपना इतिहास ब्राउज़ करें, या ऑफ़लाइन रहकर अपनी सेटिंग्स अनुकूलित करें।
प्रॉम्प्ट इंजीनियरिंग: विश्वसनीय पोषण अनुमान प्राप्त करना
नोमएआई में सबसे दिलचस्प तकनीकी चुनौती २-बिलियन पैरामीटर वाले मॉडल से संरचित, विश्वसनीय पोषण डेटा निकालना है, जिसे विशेष रूप से पोषण विश्लेषण के लिए प्रशिक्षित नहीं किया गया था।
इसका समाधान एक सावधानीपूर्वक तैयार किया गया प्रॉम्प्ट टेम्प्लेट है जो मॉडल के आउटपुट को सीमित करता है:
P०
यह संरचना क्यों काम करती है:
- स्पष्ट प्रारूप निर्देश: मॉडल को व्याख्यात्मक पाठ उत्पन्न करने से रोकता है।
- नकारात्मक निर्देश ("कोई अन्य पाठ नहीं"): उन शुरुआती वाक्यों को रोकता है जो जेसन पार्सिंग को बाधित कर सकते हैं।
- यूएसडीए मूल्यों का संदर्भ: मॉडल के अनुमानों को एक ज्ञात मानक के साथ जोड़ता है, जिससे मनमाने अनुमानों को रोका जा सके।
- P१ फ़ील्ड: पारदर्शिता प्रदान करता है, उपयोगकर्ता देख सकता है कि मॉडल ने किस सर्विंग साइज़ का अनुमान लगाया है और आवश्यकतानुसार उसे ठीक कर सकता है।
मॉडल विफलताओं को संभालना
छोटे मॉडल हमेशा पूरी तरह से विश्वसनीय नहीं होते हैं। नोमएआई एक बहु-स्तरीय सुरक्षा रणनीति लागू करता है:
१. जेसन सत्यापन: प्रत्येक प्रतिक्रिया को एक सख्त जेसन डीसेरियलाइज़र के साथ पार्स किया जाता है। यदि पार्सिंग विफल हो जाती है, तो प्रॉम्प्ट को और अधिक सीमित प्रारूप के साथ पुन: प्रयास किया जाता है। २. सत्यता जांच: अनुमानित कैलोरी को उचित सीमाओं के भीतर सत्यापित किया जाता है (उदाहरण के लिए, १०,००० कैलोरी वाले किसी एक खाद्य पदार्थ को अस्वीकार कर दिया जाता है)। मैक्रो योगों को कुल कैलोरी संख्या के साथ जांचा जाता है (कैलोरी ≈ प्रोटीन×४ + कार्ब्स×४ + फैट×९)। ३. उपयोगकर्ता सुधार: यदि मॉडल का अनुमान गलत लगता है, तो उपयोगकर्ता उसे मैन्युअल रूप से बदलने के लिए किसी भी फ़ील्ड पर टैप कर सकता है। संशोधित मानों को मूल अनुमान के साथ सहेजा जाता है, जिसका उपयोग भविष्य में मॉडल के मूल्यांकन के लिए किया जा सकता है।
तकनीकी स्टैक और आर्किटेक्चर
आधुनिक एंड्रॉइड मानकों के साथ निर्मित, नोमएआई डिवाइस-पर मशीन लर्निंग के एक अत्याधुनिक कार्यान्वयन को दर्शाता है:
- जेटपैक कंपोज़: एक आधुनिक डिक्लेरेटिव यूआई टूलकिट जो इंटरफ़ेस को सुचारू और सुंदर बनाए रखता है। रिएक्टिव स्टेट मॉडल स्वाभाविक रूप से एसिंक्रोनस एलएलएम इनफ़्रेंस के साथ जुड़ता है, आंशिक परिणाम सीधे यूआई में स्ट्रीम हो सकते हैं।
- लाइटआरटी-एलएम एसडीके: गूगल का उच्च-प्रदर्शन जेनेरेटिव एआई रनटाइम, जो न्यूनतम बैटरी खपत के साथ जेमा मॉडल चलाने के लिए हार्डवेयर त्वरण (जीपीयू/एनपीयू) का उपयोग करता है। यूआई थ्रेड को मुक्त रखने के लिए मॉडल P२ पर चलता है।
- रूम डेटाबेस: भोजन लॉग और उपयोगकर्ता लक्ष्यों के सुरक्षित, तेज़ भंडारण के लिए एक स्थानीय एसक्यूलाइट एब्स्ट्रैक्शन लेयर। रूम की फ्लो-आधारित क्वेरी नए भोजन लॉग होने पर वास्तविक समय में यूआई अपडेट सक्षम करती हैं।
- हिल्ट (निर्भरता इंजेक्शन): एलएलएम इंजन को संपूर्ण एप्लिकेशन जीवनचक्र के लिए एक सिंगलटन के रूप में प्रदान किया जाता है, जिससे यह सुनिश्चित होता है कि मॉडल केवल एक बार लोड हो और सभी आवश्यक फ़ीचर्स के बीच साझा हो।
- कोट्लिन कोरूटीन्स और फ्लो: सभी एलएलएम ऑपरेशन्स को स्ट्रक्चर्ड कॉन्करेंसी में लपेटा गया है। स्टेटफ्लो यूआई को चलाता है, जबकि शेयर्डफ्लो त्रुटियों और नेविगेशन जैसे एक-बार इवेंट्स को संभालता।
चुनौतियाँ और सीखे गए सबक
ऑफ़लाइन-प्रथम एलएलएम ऐप बनाने से कई महत्वपूर्ण इंजीनियरिंग चुनौतियाँ सामने आईं:
असामान्य खाद्य पदार्थों पर मॉडल की सटीकता
जेमा २बी सामान्य पश्चिमी खाद्य पदार्थों (अंडे, टोस्ट, चिकन) पर अच्छा काम करता है लेकिन क्षेत्रीय व्यंजनों और विशिष्ट ब्रांडों के उत्पादों पर संघर्ष करता है। "मैंने दो रोटी के साथ दाल मखनी की एक प्लेट खाई" जैसा इनपुट उचित कैलोरी अनुमान तो दे सकता है, लेकिन व्यक्तिगत मैक्रोज़ पर २०-३०% तक गलत हो सकता है।
निवारण: नोमएआई हमेशा अनुमानों को एक सूक्ष्म "अनुमानित" लेबल के साथ दिखाता है और जटिल भोजन के लिए मैन्युअल रूप से सुधार करने के लिए प्रोत्साहित करता है।
अस्पष्ट मात्रा
जब कोई उपयोगकर्ता कहता है "मैंने थोड़ा चावल खाया", तो "थोड़ा" चावल कितना है? मॉडल डिफ़ॉल्ट रूप से यूएसडीए मानक सर्विंग साइज़ (१ कप पका हुआ, ~२०० ग्राम) का उपयोग करता है, लेकिन उपयोगकर्ता का आशय भिन्न हो सकता है।
निवारण: जेसन रिस्पॉन्स में P३ फ़ील्ड मॉडल के अनुमान को स्पष्ट रूप से दिखाता है। उपयोगकर्ता इस पर टैप करके सुधार कर सकते हैं।
मेमोरी का दबाव
एक पूर्ण कंपोज़ यूआई, रूम डेटाबेस और संभावित रूप से अन्य ऐप्स के साथ २बी पैरामीटर मॉडल चलाना डिवाइस की मेमोरी पर भारी दबाव डालता है। ६ जीबी रैम वाले उपकरणों पर, ऐप को संसाधनों को रिलीज़ करने में आक्रामक होना पड़ता है, जैसे इमेज कैशे साफ़ करना और मेमोरी प्रेशर कॉलबैक की निगरानी करना।
निवारण: नोमएआई एक P४ लिसनर रजिस्टर करता है और मेमोरी बहुत कम होने पर (P५), यह एलएलएम इंजन को रिलीज़ कर देता है और मेमोरी में रखने के बजाय एक "रीलोड" बटन दिखाता है।
पहली बार डाउनलोड अनुभव
मॉडल फ़ाइल ~१.४ जीबी की है, इसे सीधे एपीके में शामिल नहीं किया जा सकता। नोमएआई इसे पहले लॉन्च पर डाउनलोड करता है, जो उपयोगकर्ता अनुभव के लिए एक संवेदनशील क्षण होता है।
निवारण: बचे हुए समय के अनुमान के साथ एक प्रोग्रेस बार, डाउनलोड को रोकने/फिर से शुरू करने का समर्थन, और बैकग्राउंड में मॉडल डाउनलोड होने के दौरान ऐप के मैन्युअल एंट्री मोड का उपयोग करने की क्षमता प्रदान की गई है।
निष्कर्ष
नोमएआई केवल एक कैलोरी ट्रैकर नहीं है; यह मोबाइल सॉफ्टवेयर डिज़ाइन के भविष्य के लिए एक प्रूफ-ऑफ-कांसेप्ट है। यह साबित करता है कि हम ऐसे बुद्धिमान ऐप्स बना सकते हैं जो उपयोगकर्ता की गोपनीयता का सम्मान करते हैं, पूरी तरह से ऑफ़लाइन काम करते हैं, और डेवलपर या उपयोगकर्ता के लिए शून्य चल रही लागत पर चलते हैं।
सोर्स कोड [गिटहब](P७) पर पूरी तरह से ओपन-सोर्स है। यदि आप डिवाइस-पर एआई, ऑफ़लाइन-प्रथम आर्किटेक्चर में रुचि रखते हैं, या सिर्फ एक ऐसा कैलोरी ट्रैकर चाहते हैं जो आपका डेटा न बेचे, तो इसे देखें और योगदान करने पर विचार करें।
