Abdelrhman

وسيط Vertex AI
مميز0 مشاهدات

وسيط Vertex AI

بوابة API مفتوحة المصدر متوافقة مع Gemini لخدمة Vertex AI، مع مفاتيح مسبقة الدفع وتتبع الاستخدام والحدود ولوحة إدارة.

تفاصيل المشروع

Vertex AI Proxy بوابة مفتوحة المصدر للمطورين الذين يحتاجون إلى واجهة متوافقة مع Gemini وتستند إلى Google Vertex AI. يدير المسؤول النماذج وبيانات اتصال المنبع والمفاتيح والأسعار والاستخدام من لوحة ويب مستقلة. يرسل العميل طلبه بمفتاح للبوابة دون أن يحصل على بيانات اعتماد الخدمة الأصلية.

المشكلة

يصعب ضبط الوصول والإنفاق إذا وُزعت بيانات اعتماد السحابة على كل عميل. تحتاج البوابة إلى استقبال مسارات النماذج المعتادة، وتطبيق قيود مستقلة لكل مفتاح، وحجز الرصيد قبل إرسال الطلب، ثم تسجيل الاستخدام الفعلي. وتضيف الاستجابات المتدفقة حالة خاصة؛ فقد ينقطع اتصال العميل قبل اكتمال التدفق.

الميزات الأساسية

  • تدعم المسارات العامة توليد المحتوى وتدفقه، وعدّ الرموز، والتضمين، واستعراض النماذج.
  • ينشئ المسؤول مفاتيح البوابة ويوقفها أو يلغيها أو يعيد إصدارها، ويمكنه إنشاء مجموعة مفاتيح دفعة واحدة.
  • يمكن تقييد كل مفتاح بحسب النموذج أو المسار أو عنوان IP، مع حدود للطلبات والرموز.
  • تعتمد الأرصدة مسبقة الدفع على قواعد تسعير وسجل محاسبي للاستخدام.
  • تعرض لوحة الإدارة تقارير الاستخدام وتصدير CSV وبيانات الطلبات الوصفية وسجل التدقيق.
  • يمكن إعداد أكثر من اتصال بخدمة Vertex AI واختيار الاتصال عبر طبقة التوجيه.
  • تساعد مسارات الصحة ومقاييس التشغيل المحمية في متابعة الخدمة.

البنية التقنية

تستقبل خلفية NestJS الطلب المتوافق مع Gemini وتتحقق من مفتاح البوابة. تحتفظ Redis بعدادات تحديد المعدل وحجوزات الرصيد المؤقتة. تختار الخلفية اتصال المنبع، وترسل الطلب إلى Vertex AI، ثم تسوي الاستخدام في سجل PostgreSQL. تربط TypeORM المفاتيح وقواعد التسعير والحسابات والسجلات المخزنة. وتتصل لوحة Next.js بمسارات إدارية منفصلة. تضم ملفات Docker Compose قاعدة البيانات وRedis والخلفية واللوحة وnginx للتشغيل الذاتي.

نقاط هندسية

  • تجعل نصوص Lua في Redis حجز الرصيد وقرارات تحديد المعدل عمليات ذرية عند تزامن الطلبات.
  • تُشفّر بيانات اعتماد المنبع باستخدام AES-256-GCM، وتُحمى كلمات مرور المسؤولين باستخدام Argon2id.
  • تصل الطلبات المتدفقة إلى تسوية الاستخدام عند الاكتمال أو الفشل أو الإلغاء.
  • تُخزن مفاتيح البوابة بصيغة تجزئة، وتُعاد قيمتها الكاملة عند إنشاء المفتاح أو إعادة إصداره.

معرض الصور

1 / 5

آراء العملاء

آراء أشخاص استخدموا هذا المشروع أو شاركوا في تطويره.

شارك تجربتك مع هذا المشروع