منصوبے کے بارے میں

یہ ریپوزٹری ایک پرووائیڈر نیوٹرل FastAPI گیٹ وے فراہم کرتا ہے جسے Gemini یا OpenAI جیسے مخصوص LLM پرووائیڈرز پر براہ راست انحصار کو ختم کرنے کے لیے ڈیزائن کیا گیا ہے۔ 'gemini-3.5-flash' یا 'gpt-5.6-terra' جیسے ماڈل ناموں کو ہارڈ کوڈ کرنے کے بجائے، ایپلی کیشنز 'fast'، 'reasoning'، 'cheap'، یا 'embedding' جیسے مستحکم ایلیئز (aliases) کے ذریعے صلاحیتوں کی درخواست کرتی ہیں۔ گیٹ وے پرووائیڈر کے انتخاب، ایکسپونینشل بیک آف اور جیٹر (jitter) کے ساتھ ری ٹرائی لاجک، فال بیک روٹنگ، ٹائم آؤٹ کے نفاذ، ایرر نارملائزیشن، ٹوکن کے استعمال کی ٹریکنگ، لاگت کے تخمینے، اور SQLite میں استعمال کے واقعات کے مستقل اسٹوریج کو سنبھالتا ہے۔ اہم خصوصیات میں شامل ہیں: - آرڈرڈ فال بیک چینز کے ساتھ ماڈل ایلیئز پر مبنی روٹنگ - Gemini اور OpenAI کے لیے پرووائیڈر اڈاپٹرز - JSON Schema کی پابندیوں کا استعمال کرتے ہوئے اسٹرکچرڈ JSON آؤٹ پٹ - نارملائزڈ میٹا ڈیٹا کے ساتھ ٹیکسٹ ایمبیڈنگز - Request ID پروپگیٹشن اور لیٹنسی ہیڈرز - لاگت کے تخمینے کے لیے قابلِ ترتیب پرائسنگ کیٹلاگ - پرووائیڈر/ماڈل کے لحاظ سے تفصیلی استعمال کے تجزیات کا اینڈ پوائنٹ - Async ٹیسٹ، Docker سپورٹ، اور GitHub Actions CI/CD - پروڈکشن میں API key کی تصدیق سمیت سیکیورٹی کنٹرولز یہ آرکیٹیکچر ایپلی کیشن لاجک اور LLM پرووائیڈر کی پیچیدگی کے درمیان ایک واضح علیحدگی کو یقینی بناتا ہے۔ اس میں ریکوئسٹ کانٹیکسٹ کے لیے مڈل ویئر، ٹائپڈ Pydantic ریسپانسز، اور تفصیلی لاگنگ شامل ہے۔ آپریشنل شفافیت برقرار رکھنے کے لیے ناکام کوششوں کو کامیاب کوششوں کے ساتھ محفوظ کیا جاتا ہے۔ یہ سسٹم قابلِ توسیع ہے لیکن جان بوجھ کر JWT auth، اسٹریمنگ، یا ڈسٹری بیوٹڈ ریٹ لمیٹنگ جیسی جدید خصوصیات سے گریز کرتا ہے تاکہ بنیادی تجرید (abstraction) اور بھروسہ مندی پر توجہ مرکوز کی جا سکے۔ سیٹ اپ میں ریپو کو کلون کرنا، ورچوئل انوائرمنٹ بنانا، ڈیپینڈنسز انسٹال کرنا، API keys کے ساتھ .env کو کنفیگر کرنا، اور uvicorn یا Docker کے ذریعے چلانا شامل ہے۔ Swagger دستاویزات /docs پر دستیاب ہیں۔ یہ پروجیکٹ کوڈ کی کوالٹی اور سیکیورٹی کے لیے Ruff، pytest، CodeQL، اور Dependabot کا استعمال کرتا ہے۔ ایک تفصیلی NOTES.md فائل AI انجینئرنگ پروجیکٹس کے لیے ڈیزائن کے فیصلوں اور سیکھنے کے مقاصد کی وضاحت کرتی ہے۔