इस प्रोजेक्ट के बारे में
यह रिपॉजिटरी एक प्रदाता-तटस्थ FastAPI गेटवे प्रदान करती है जिसे Gemini या OpenAI जैसे विशिष्ट LLM प्रदाताओं पर सीधी निर्भरता को हटाने के लिए डिज़ाइन किया गया है। 'gemini-3.5-flash' या 'gpt-5.6-terra' जैसे मॉडल नामों को हार्डकोड करने के बजाय, एप्लिकेशन 'fast', 'reasoning', 'cheap', या 'embedding' जैसे स्थिर एलियास के माध्यम से क्षमताओं का अनुरोध करते हैं। गेटवे प्रदाता चयन, एक्सपोनेंशियल बैकऑफ़ और जिटर के साथ रिट्राय लॉजिक, फॉलबैक राउटिंग, टाइमआउट प्रवर्तन, त्रुटि सामान्यीकरण, टोकन उपयोग ट्रैकिंग, लागत अनुमान और SQLite में उपयोग घटनाओं के स्थायी भंडारण को संभालता है।
मुख्य विशेषताओं में शामिल हैं:
- क्रमबद्ध फॉलबैक चेन के साथ मॉडल एलियास-आधारित राउटिंग
- Gemini और OpenAI के लिए प्रदाता एडेप्टर
- JSON Schema बाधाओं का उपयोग करके स्ट्रक्चर्ड JSON आउटपुट
- सामान्यीकृत मेटाडेटा के साथ टेक्स्ट एम्बेडिंग्स
- रिक्वेस्ट ID प्रोपेगेशन और लेटेंसी हेडर
- लागत अनुमान के लिए कॉन्फ़िगर करने योग्य प्राइसिंग कैटलॉग
- प्रदाता/मॉडल के अनुसार विवरण के साथ उपयोग एनालिटिक्स एंडपॉइंट
- Async टेस्ट, Docker सपोर्ट और GitHub Actions CI/CD
- प्रोडक्शन में API कुंजी प्रमाणीकरण सहित सुरक्षा नियंत्रण
यह आर्किटेक्चर एप्लिकेशन लॉजिक और LLM प्रदाता जटिलता के बीच एक स्पष्ट अलगाव लागू करता है। इसमें रिक्वेस्ट कॉन्टेक्स्ट के लिए मिडलवेयर, टाइपेड Pydantic रिस्पॉन्स और विस्तृत लॉगिंग शामिल है। परिचालन पारदर्शिता बनाए रखने के लिए सफल प्रयासों के साथ-साथ विफल प्रयासों को भी सुरक्षित रखा जाता है। सिस्टम विस्तार योग्य है लेकिन मुख्य एब्स्ट्रैक्शन और विश्वसनीयता पर ध्यान केंद्रित करने के लिए JWT auth, स्ट्रीमिंग या वितरित रेट लिमिटिंग जैसी उन्नत सुविधाओं से जानबूझकर बचता है।
सेटअप में रेपो को क्लोन करना, वर्चुअल एनवायरनमेंट बनाना, डिपेंडेंसी इंस्टॉल करना, API कुंजियों के साथ .env कॉन्फ़िगर करना और uvicorn या Docker के माध्यम से चलाना शामिल है। Swagger दस्तावेज़ीकरण /docs पर उपलब्ध है। प्रोजेक्ट कोड गुणवत्ता और सुरक्षा के लिए Ruff, pytest, CodeQL और Dependabot का उपयोग करता है। एक विस्तृत NOTES.md AI इंजीनियरिंग प्रोजेक्ट्स के लिए डिज़ाइन निर्णयों और सीखने के उद्देश्यों की व्याख्या करता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.