इस प्रोजेक्ट के बारे में

Recotem एक रेसिपी-संचालित रिकमेंडर सिस्टम फ्रेमवर्क है जो रिकमेंडेशन मॉडल को प्रशिक्षित करने और सेवा देने को सरल बनाता है। यह irspack पर बनाया गया है और पूरी पाइपलाइन को परिभाषित करने के लिए एक एकल YAML रेसिपी फ़ाइल का उपयोग करता है: डेटा स्रोत, प्रशिक्षण एल्गोरिदम, हाइपरपैरामीटर खोज, और आउटपुट स्थान। `recotem train` कमांड एक हस्ताक्षरित बाइनरी आर्टिफैक्ट उत्पन्न करता है, जबकि `recotem serve` एक FastAPI सर्वर चलाता है जो `/v1/recipes/{name}:recommend` और `:recommend-related` जैसे एंडपॉइंट्स को उजागर करता है, जिसमें नए आर्टिफैक्ट दिखाई देने पर स्वचालित हॉट-स्वैपिंग होती है। इसे किसी डेटाबेस या मैसेज ब्रोकर की आवश्यकता नहीं होती, जिससे यह हल्का और तैनात करने में आसान होता है। मुख्य विशेषताएं शामिल हैं: - **रेसिपी-संचालित कॉन्फ़िगरेशन**: एक YAML फ़ाइल डेटा इन्जेशन से लेकर सेविंग तक एक पूर्ण मॉडल को परिभाषित करती है। - **हाइपरपैरामीटर ऑप्टिमाइज़ेशन**: irspack एल्गोरिदम में खोजने के लिए Optuna का उपयोग करता है। - **फीचर-जागरूक iALS**: बेहतर रिकमेंडेशन के लिए आइटम/यूज़र साइड फीचर्स (श्रेणीबद्ध, संख्यात्मक, मल्टी-लेबल) का समर्थन करता है। - **कोल्ड-स्टार्ट समर्थन**: विशेषता फीचर्स का उपयोग करके अज्ञात उपयोगकर्ताओं या आइटम्स के लिए रिकमेंड कर सकता है। - **प्लगेबल डेटा स्रोत**: CSV, Parquet, BigQuery, और SQL (PostgreSQL, MySQL, SQLite) के लिए अंतर्निहित समर्थन, Python एंट्री पॉइंट्स के माध्यम से विस्तार योग्य। - **सुरक्षित आर्टिफैक्ट**: मल्टी-की रोटेशन के साथ HMAC-हस्ताक्षरित और सुरक्षित डिसीरियलाइज़ेशन के लिए निर्धारक क्लास अनुमति-सूची। - **API कुंजी प्रमाणीकरण**: वैकल्पिक `X-API-Key` हेडर, कुंजियाँ आराम पर हैश की जाती हैं। - **लचीला स्टोरेज**: स्थानीय, S3, GCS, Azure, और HTTPS पथों के लिए fsspec का उपयोग करता है। - **अवलोकन क्षमता**: वैकल्पिक Prometheus मेट्रिक्स और गुप्त रेडक्शन के साथ संरचित JSON लॉग। यह टूल प्रतिलिपि प्रस्तुत करने योग्यता और परिचालन सरलता के लिए डिज़ाइन किया गया है। प्रशिक्षण एक बैच जॉब के रूप में चलता है (जैसे, cron, Airflow, Kubernetes CronJob), और सेविंग एक दीर्घकालिक प्रक्रिया है जो नए आर्टिफैक्ट्स की निगरानी करती है और उन्हें परमाणु रूप से स्वैप करती है। यह पृथक्करण प्रशिक्षण और सेविंग को विभिन्न मशीनों पर चलाने की अनुमति देता है, केवल आर्टिफैक्ट फ़ाइलों के माध्यम से संचार करते हुए। स्थापना pip के माध्यम से विशिष्ट डेटा स्रोतों के लिए एक्स्ट्रा के साथ होती है (जैसे, `recotem[bigquery]`, `recotem[s3]`)। ghcr.io पर एक मल्टी-आर्क Docker इमेज उपलब्ध है। परियोजना को Python 3.12+ की आवश्यकता है और glibc Linux (x86-64/arm64), macOS (Apple Silicon), और Windows (x86-64) का समर्थन करता है। `bprfm` जैसे कुछ एक्स्ट्रा में संकीर्ण प्लेटफ़ॉर्म समर्थन है और स्रोत से निर्माण की आवश्यकता हो सकती है। क्विकस्टार्ट उदाहरण एक छोटे CSV से TopPop रिकमेंडर को प्रशिक्षित करने और HTTP के माध्यम से रिकमेंडेशन सेवा देने का प्रदर्शन करता है। दस्तावेज़ीकरण साइट (recotem.org) व्यापक गाइड, API संदर्भ, और परिचालन विवरण प्रदान करती है।