इस प्रोजेक्ट के बारे में
Liapi एक स्व-होस्टेड HTTP सेवा है, जो बाहर की ओर OpenAI-संगत API प्रदान करती है और भीतर की ओर कई अपस्ट्रीम मॉडल सेवाओं (OpenAI, Claude, OpenRouter, सिलिकॉनफ्लो, Ollama आदि) को एकत्रित करती है। यह परियोजना Go 1.22+ के शुद्ध मानक लाइब्रेरी पर आधारित है, इसमें कोई तृतीय-पक्ष निर्भरता नहीं है, और go build से एक ही चरण में बाइनरी बन जाती है।
मुख्य विशेषताएँ:
- एकीकृत प्रमाणीकरण: क्लाइंट token और अपस्ट्रीम API Key पूरी तरह अलग हैं, Bearer / x-api-key / ?token= तीन स्रोतों का समर्थन करता है, SHA-256 डाइजेस्ट + स्थिर-समय तुलना से समय-आधारित हमलों से बचाव करता है, token को लॉग में मास्क करके दर्ज करता है।
- मॉडल रूटिंग: priority के आरोही क्रम में व्यवस्थित, समान priority समूह में weight के आधार पर भारित यादृच्छिक चयन; स्पष्ट fallbacks श्रृंखला, सटीक मॉडल उपनाम और रेगुलर एक्सप्रेशन उपनाम नियम (पैरामीटर ओवरराइड सहित) का समर्थन करता है।
- विफलता फेलओवर: पहले WriteHeader से पहले स्विच निर्णय पूरा करता है, 429/5xx पर स्वचालित अपस्ट्रीम स्विच, 4xx (429 को छोड़कर) पर तेज़ विफलता और पुनः प्रयास नहीं; एकल अपस्ट्रीम के भीतर पुनः प्रयास का समर्थन करता है।
- स्ट्रीमिंग फॉरवर्डिंग: text/event-stream का पता लगाकर पंक्ति-दर-पंक्ति कॉपी और Flush करता है, स्ट्रीमिंग में कठोर टाइमआउट नहीं रखता बल्कि क्लाइंट डिस्कनेक्ट से संचालित होता है, क्लाइंट डिस्कनेक्ट होते ही अपस्ट्रीम पढ़ना बंद करके कनेक्शन मुक्त करता है।
- दर सीमा: स्लाइडिंग विंडो दर सीमा, प्रति token प्रति मिनट अनुरोध संख्या और दैनिक UTC कोटा का समर्थन करता है, डिवाइस अलग से ओवरराइड कर सकते हैं।
- लॉग और सांख्यिकी: JSONL लॉग फ़ाइल + इन-मेमोरी रिंग बफर, पथ, मॉडल, अपस्ट्रीम, स्थिति, विलंब, token उपयोग और लागत अनुमान दर्ज करता है; अपस्ट्रीम/मॉडल/token/समय अवधि के अनुसार एकत्रीकरण, P50/P90/P99 विलंब और त्रुटि कोड वितरण प्रदान करता है।
- स्वास्थ्य जाँच: पृष्ठभूमि goroutine समय-समय पर समवर्ती रूप से अपस्ट्रीम की जाँच करता है, लगातार N विफलताओं पर अस्वस्थ चिह्नित करता है, रूटिंग में स्वचालित रूप से बचता है (चालू/बंद करने योग्य), सभी विफल होने पर पूर्ण सेट पर वापस आ जाता है।
- Web प्रबंधन कंसोल: Nuxt 4 पर आधारित स्थिर SPA, go:embed से बाइनरी में अंतर्निहित, अपस्ट्रीम/token/डिवाइस प्रबंधन, कॉन्फ़िगरेशन हॉट रीलोड, लॉग क्वेरी, सांख्यिकी निर्यात, डिबग परीक्षण का समर्थन करता है।
प्रबंधन API पूर्ण CRUD प्रदान करता है: अपस्ट्रीम प्रबंधन, डिवाइस token प्रबंधन (केवल SHA-256 हैश संग्रहीत, स्पष्ट पाठ केवल एक बार जारी), कॉन्फ़िगरेशन आयात/निर्यात (OneAPI channels प्रारूप आयात का समर्थन), सांख्यिकी एकत्रीकरण और CSV/JSON निर्यात, Prometheus metrics। प्रबंधन कंसोल लॉगिन उपयोगकर्ता नाम + पासवर्ड (PBKDF2-HMAC-SHA256 नमकीन हैश) का उपयोग करता है, अल्पकालिक सत्र token जारी करता है, जो व्यावसायिक कॉल token से सख्ती से अलग है। कॉन्फ़िगरेशन फ़ाइल पर 0600 अनुमतियाँ अनिवार्य हैं और स्टार्टअप पर सत्यापन होता है।
व्यावसायिक API OpenAI प्रारूप के अनुकूल है, /v1/chat/completions, /v1/completions, /v1/embeddings, /v1/models, /v1/messages (Claude मूल प्रारूप) को कवर करता है, क्लाइंट को केवल base_url बदलना होता है।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.