
ShunyaNet Sentinel एक हल्का प्रोग्राम है जो RSS फ़ीड्स की निगरानी करता है, उन्हें विश्लेषण के लिए LLM को भेजता है, और सारांश या अलर्ट सीधे GUI और Slack पर पहुंचाता है।
ShunyaNet Sentinel एक हल्का, साइबरपंक-थीम वाला प्रोग्राम है जो RSS फ़ीड (जैसे, ब्रेकिंग न्यूज़, सोशल मीडिया) को ग्रहण करता है, उन्हें विश्लेषण के लिए LLM को भेजता है, और नियमित अंतराल पर GUI और Slack पर सीधे अलर्ट और सारांश रिपोर्ट प्रदान करता है।
यह प्रोजेक्ट उसी मशीन या नेटवर्क (जैसे, Tailscale के साथ) पर स्थानीय रूप से होस्ट किए गए LLM का उपयोग करने के लिए बनाया गया है, जो LMStudio या Ollama (02/23 Update) का उपयोग करता है। यह OpenAI API key (02/23 Update) के साथ भी काम करेगा।
अलर्टिंग के लिए, प्रोग्राम Slack Webhooks का उपयोग करता है, जो मोबाइल डिवाइस पर पुश नोटिफिकेशन भेजने में सक्षम बनाता है।
ShunyaNet Sentinel Linux, MacOS और Windows के नवीनतम संस्करणों के साथ संगत है*
रिपोर्टिंग और विश्लेषण की गुणवत्ता प्रॉम्प्ट, कॉन्टेक्स्ट साइज़, RSS फ़ीड और चुने गए LLM से प्रभावित होती है। यह अनुशंसा की जाती है कि आप thinking सुविधाओं को बंद कर दें। जो मॉडल अच्छा प्रदर्शन करते प्रतीत हुए हैं और आम तौर पर निर्देशों का पालन करते हैं, उनमें शामिल हैं:
*दृढ़ता से macOS या Linux सुझाया गया है। नीचे ज्ञात समस्याएँ देखें।
महत्वपूर्ण जानकारी के लिए अंत में टिप्स, ट्रिक्स और ज्ञात समस्याएँ देखें!
/v1/chat/completions एंडपॉइंट के साथ काम करता है, LMStudio के लिए डिज़ाइन किया गयाrequirements.txt में सूचीबद्ध निर्भरताएँ:
LLM होस्ट किया गया:
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
default_prompt.txt लोड करेंDefault_test RSS सूची लोड करेंरुचि के विषय दर्ज करें, या प्रदान की गई डिफ़ॉल्ट सूचियों में से एक लोड करें। प्रत्येक सूची में अधिकतम 10 विषय जोड़े जा सकते हैं।
प्रॉम्प्ट फ़ाइल लोड करने के लिए “Load Prompt File” पर क्लिक करें। एक डिफ़ॉल्ट प्रॉम्प्ट प्रदान किया गया है (default_prompt.txt)।
RSS सूची लोड करने के लिए “Load Data Source File” पर क्लिक करें। दो डिफ़ॉल्ट सूचियाँ प्रदान की गई हैं। एक छोटी “Default_test” सूची और एक लंबी “Default_long” सूची, जो दुनिया भर के समाचारों और ब्रेकिंग न्यूज़ पर केंद्रित है।
"Additional Settings" में, निम्नलिखित फ़ील्ड सेट करें। ये प्रोग्राम बंद करने और पुनरारंभ करने पर सहेजे जाएँगे और बने रहेंगे। डिफ़ॉल्ट सेटिंग्स अधिकांश कॉन्फ़िगरेशन के साथ काम करेंगी - लेकिन आपको अभी भी फ़ील्ड #1 स्वयं दर्ज करना होगा:
LLM_PROVIDER = lmstudioLLM_BASE_URL = <आपका LMStudio सर्वर URL, जैसे: http://localhost:1234/v1>LLM_MODEL = <वैकल्पिक। मैं अनुशंसा करता हूँ कि इसे खाली छोड़ दें और अपना मॉडल सीधे LMStudio में लोड करें। यदि आपको करना ही है, तो प्रारूप इस प्रकार है: lmstudio-community/mistral-7b-instruct>LLM_API_KEY = <इसे खाली छोड़ें, जब तक कि आप प्रमाणीकरण कुंजी का उपयोग न करें>LLM_PROVIDER = ollamaLLM_BASE_URL = <आपका LMStudio सर्वर URL, जैसे: http://localhost:11434/v1>LLM_MODEL = llama3LLM_API_KEY = <इसे खाली/रिक्त छोड़ें>LLM_PROVIDER = openaiLLM_BASE_URL = (कोई फर्क नहीं पड़ता: इस फ़ील्ड को अनदेखा किया जाता है)LLM_MODEL = gpt-4o-miniLLM_API_KEY = sk-xxxxनोट: मैं अनुशंसा करता हूँ कि पहले रन के लिए इसे सरल रखें। डिफ़ॉल्ट सेटिंग्स का उपयोग करें और सुनिश्चित करें कि यह काम करता है। फिर, कॉन्टेक्स्ट और RSS फ़ीड को ट्वीक करें। फिर, प्रॉम्प्ट को समायोजित करें। मुझे लोगों के बेहतर प्रॉम्प्ट देखने में उत्सुकता होगी....
समस्याएँ/चेतावनियाँ:
सुझाव:
Alpha
यह प्रोजेक्ट Apache 2.0 के तहत लाइसेंस प्राप्त है।
एट्रिब्यूशन: ShunyaNet / EverythingsComputer
कोई वारंटी नहीं: सॉफ़्टवेयर "जैसा है" प्रदान किया जाता है, बिना किसी प्रकार की वारंटी, स्पष्ट या निहित।
इस प्रोजेक्ट में निम्नलिखित तृतीय-पक्ष लाइब्रेरी का उपयोग किया गया है। कृपया इस प्रोजेक्ट का उपयोग, वितरण और/या परिवर्तन करते समय उनके लाइसेंस की समीक्षा करें:
मेरी बिल्ली।
| सेटिंग | विवरण | डिफ़ॉल्ट | उदाहरण / नोट्स |
|---|
| LLM_PROVIDER | अगला कदम देखें | — | — |
| LLM_BASE_URL | अगला कदम देखें | — | — |
| LLM_MODEL | अगला कदम देखें | — | — |
| LLM_API_KEY | अगला कदम देखें | — | — |
| SLACK_WEBHOOK_URL | Slack को अलर्ट भेजने के लिए वैकल्पिक Slack वेबहुक URL। | वैकल्पिक | https://hooks.slack.com/services/... |
| MAX_INPUT_TOKENS | प्रति RSS पुल LLM को भेजे गए अधिकतम टोकन। सामान्य नियम: 1 टोकन ≈ 4 वर्ण। यदि मॉडल कॉन्टेक्स्ट साइज़ से अधिक हो, तो चंक्ड मोड सक्षम करें। | 4000 | अपने LLM के कॉन्टेक्स्ट विंडो के आधार पर सावधानीपूर्वक बढ़ाएँ। |
| MAX_OUTPUT_TOKENS | अधिकतम टोकन जो LLM अपने उत्तर में वापस भेजेगा। (नोट: यह अधिकतम/सीमा है, लक्ष्य नहीं!) | 4000 | अनुशंसा है कि आप इसे न बदलें। 4000 शायद बहुत अधिक छूट है, ईमानदारी से कहूँ तो |
| MAX_INPUT_TOKENS_BULK | बल्क प्रोसेसिंग रिपोर्ट के लिए LLM को भेजे गए RSS फ़ीड की अधिकतम टोकन लंबाई। जब बल्क प्रोसेसिंग सक्षम होती है, तो RSS फ़ीड सहेजे जाते हैं और एक विशेष ट्रेंड-विश्लेषण प्रॉम्प्ट (अभी के लिए हार्ड-कोडेड प्रॉम्प्ट) के साथ एक साथ भेजे जाते हैं। इसके लिए कभी भी चंक का उपयोग नहीं किया जाता है, इसलिए अपनी कॉन्टेक्स्ट सीमा से अधिक न जाएँ | 4000 | सार्थक बल्क रिपोर्ट के लिए संभवतः बढ़ाने की आवश्यकता है। VRAM और कॉन्टेक्स्ट सीमाओं पर दबाव डाल सकता है। शुरू में बल्क मोड को अक्षम करने की अनुशंसा की जाती है। |
| MAX_OUTPUT_TOKENS_BULK | बल्क प्रोसेसिंग रिपोर्ट की अधिकतम टोकन लंबाई। | 4000 | सार्थक बल्क रिपोर्ट के लिए बढ़ाने की आवश्यकता हो सकती है। VRAM और कॉन्टेक्स्ट सीमाओं पर दबाव डाल सकता है। शुरू में बल्क मोड को अक्षम करने की अनुशंसा की जाती है। |
| FETCH_INTERVAL | RSS पुल और LLM विश्लेषण के बीच सेकंड में समय। | 600 (सेकंड, यानी 10 मिनट) | कुल प्रसंस्करण समय से कम न सेट करें अन्यथा बैकलॉग हो सकता है। |
| ITEMS_PER_FEED | प्रति चक्र प्रति फ़ीड खींचे गए RSS प्रविष्टियों की अधिकतम संख्या। पहले से खींची गई वस्तुओं को अनदेखा किया जाता है। | 50 | उच्च मान एक बड़ा पहला पुल बनाते हैं। अधिकांश RSS फ़ीड हर 10 मिनट में 20 से अधिक नई वस्तुएँ उत्पन्न नहीं करते हैं, कुछ बहुत कम। |
| USE_CHUNKED_MODE | यदि RSS सामग्री टोकन भत्ते से अधिक हो तो स्वचालित विभाजन सक्षम करता है। 1 = चालू, 0 = बंद। | 1 | कॉन्टेक्स्ट ओवरफ़्लो को रोकता है लेकिन चंकों में ईवेंट रिपोर्टिंग को डुप्लिकेट कर सकता है। |
| CHUNK_SIZE | प्रत्येक चंक का आकार वर्णों (टोकन नहीं) में। | 8000 | अनुमानित रूपांतरण: 4 वर्ण ≈ 1 टोकन। मैं दोहराता हूँ: यह वर्णों में है। क्या इसे टोकन में होना चाहिए? शायद! लेकिन यह नहीं है। |
| WRITE_TO_FILE | वैकल्पिक। बाहरी बेंचमार्किंग, प्रॉम्प्ट परीक्षण, या मॉडल तुलना के लिए सभी खींची गई RSS सामग्री को एक रोलिंग फ़ाइल में लिखता है। Sentinel की मुख्य कार्यक्षमता को प्रभावित नहीं करता है। 1 = चालू, 0 = बंद। | 0 | ऑफ़लाइन LLM परीक्षण और मूल्यांकन के लिए उपयोगी। |
| ANALYSIS_WINDOW | प्रत्येक बल्क प्रोसेसिंग रिपोर्ट के लिए उपयोग किया जाने वाला समय अंतराल। | 3600 (सेकंड, यानी 1 घंटा) | केवल तब उपयोग किया जाता है जब बल्क प्रोसेसिंग सक्षम हो। |
| BULK_ANALYSIS | आवधिक बल्क RSS ट्रेंड रिपोर्ट सक्षम करता है। 1 = चालू, 0 = बंद। नियमित रिपोर्टिंग के सापेक्ष बहुत प्रयोगात्मक। विशेष प्रॉम्प्ट अभी के लिए हार्ड-कोडेड है। | 0 | LLM को एकल ट्रेंड विश्लेषण रिपोर्ट के लिए संचित RSS फ़ीड भेजता है। प्रसंस्करण भार को काफी बढ़ा सकता है। |