MokuML: पाइपलाइन के बिना स्थानीय एमएल पूर्वानुमान

अवधारणा के प्रमाण के लिए शोध। github.com/amiune/MokuML

क्या हो अगर कोई छोटा व्यवसाय Postgres से जुड़ सके, साधारण अंग्रेज़ी में पूर्वानुमान का वर्णन कर सके और डेटा विज्ञान की टीम, क्लाउड एमएल प्रणाली या Kumo जैसे सब्सक्रिप्शन के बिना अपने Mac पर नतीजे पा सके?

हम MokuML के साथ यही संभावना तलाश रहे हैं। इसे हल्का Kumo.ai समझें: डेटाबेस जोड़ें, पूर्वानुमान माँगें और जवाब पाएँ। लेकिन सब कुछ स्थानीय रूप से चलता है।

विचार

  1. अपने Postgres डेटाबेस से जुड़ें।
  2. बताएँ कि आप क्या अनुमान लगाना चाहते हैं (“कौन से ग्राहक हमें छोड़ेंगे?”, “कौन से बिल देर से चुकाए जाएँगे?”)।
  3. एक स्थानीय LLM आपका स्कीमा (तालिकाओं के नाम, कॉलम और कुंजियाँ) पढ़कर सुरक्षित SELECT क्वेरी लिखता है। वह आपके वास्तविक डेटा की पंक्तियाँ कभी नहीं देखता।
  4. क्वेरी आपके कंप्यूटर पर केवल पढ़ने वाले ट्रांज़ैक्शन में चलती है।
  5. TabPFN-3 उस तालिका पर प्रशिक्षण और पूर्वानुमान करता है, वह भी स्थानीय रूप से।

फ़ीचर इंजीनियरिंग की पाइपलाइन नहीं। मॉडल को समायोजित करने का इंटरफ़ेस नहीं। ग्राहक का डेटा किसी एपीआई को भेजना नहीं।

गोपनीयता उत्पाद का नियम है

LLM को स्कीमा का मेटाडेटा और आपका प्रॉम्प्ट मिलता है। सेल के मान, पूर्वावलोकन या पासवर्ड नहीं। चलाने से पहले SQL को एएसटी पार्सर से सत्यापित किया जाता है। डेटा बदलने वाले आदेश, DDL और कई स्टेटमेंट की तरकीबें अस्वीकार की जाती हैं।

वैकल्पिक दूरस्थ LLM मोड भी है, लेकिन उसमें भी वही सीमा लागू होती है: केवल स्कीमा।

तकनीकें

  • SwiftUI में macOS ऐप
  • डेटाबेस तक पहुँच, SQL सत्यापन और TabPFN अनुमान के लिए 127.0.0.1 पर Python वर्कर
  • टेक्स्ट को SQL में बदलने के लिए Ollama (या OpenAI-संगत एपीआई)
  • ~/Library/Application Support/MokuML/runs/ में स्थानीय रन का इतिहास

वास्तविक सीमाएँ

यह बिना आधार के भविष्य नहीं बता सकता। ऐतिहासिक लेबल या स्कीमा से निकाला जा सकने वाला लक्ष्य चाहिए। TabPFN में पंक्तियों और फ़ीचर की सीमाएँ हैं। व्यावसायिक उपयोग से पहले TabPFN का लाइसेंस भी जाँचें।

अभी शुरुआत है, लेकिन दिशा सही लगती है: स्थानीय LLM और तालिकाबद्ध डेटा के आधारभूत मॉडल छोटे व्यवसायों के लिए उपयोगी एमएल को सस्ता और निजी बना सकते हैं।

कोड रिपॉज़िटरी: github.com/amiune/MokuML