Ai-Sentry عبارة عن طبقة واجهة ذكاء اصطناعي توليدية شفافة وقابلة للتوصيل تعتمد على لغة Python + DAPR، وهي مصممة لدعم الميزات التالية للمؤسسات الكبيرة التي تقوم بتطوير وتشغيل حلول ذكاء اصطناعي توليدي:
إعادة تحصيل رسوم استخدام الرمز المميز عبر مختلف مستهلكي openAI
التسجيل غير المتزامن للطلب/الاستجابة مع القدرة على تبديل تجريد معلومات تحديد الهوية الشخصية (PII). يعد هذا المستوى من التسجيل مفيدًا للعديد من الأشياء مثل الامتثال القانوني بالإضافة إلى تقييم الطلب/الاستجابات وإعادة تشغيلها مقابل النماذج الأحدث لمساعدتك في التعامل مع ترقيات النموذج دون التأثير على المستخدمين الحاليين لديك.
موازنة تحميل أكثر ذكاءً من خلال الأخذ في الاعتبار مقاييس تحميل رأس استجابة Azure openAI وتجميع الواجهات الخلفية المتعددة مع نفس إمكانيات النموذج
دعم الاستجابات المتدفقة وغير المتدفقة (بما في ذلك تسجيل هذه الاستجابات)
إمكانية توسيع المحولات المخصصة لمساعدتك في التعامل مع حالات إيقاف SDK / API من جانب العميل - حتى تتمكن من توفير التوافق مع الإصدارات السابقة إذا لزم الأمر.
لم يتم تصميم AI-Sentry ليحل محل حلول API Gateway الحالية مثل Azure APIM - بل تم تصميمه ليوضع بين API Gateway ونقاط نهاية openAI - مما يوفر التحكم المطلق لحلول openAI الخاصة بك.
نحاول إجراء معالجة مكثفة خارج مسار مكالمات HTTP المباشرة لتقليل زمن الوصول إلى المستهلكين والاعتماد على سيارات DAPR الجانبية وأنماط Pub/Sub لأداء العمل بشكل غير متزامن.
لأن AI-Sentry يستخدم DAPR؛ خيارات التكنولوجيا لاستمرارية السجل، ووسطاء الرسائل قابلة للتبديل عبر المكونات الأصلية لـ DAPR. يستخدم مثالنا REDIS وEvent Hubs كوسيط رسائل لـ PUB/SUB، وCosmosDB كمخزن ثبات السجل.
يجب أن تكون متغيرات البيئة التالية موجودة. إن كيفية تغذيتها أمر متروك لك - على سبيل المثال، أسرار Kubernetes، وخرائط التكوين، وما إلى ذلك...
اسم | قيمة | عنصر |
---|---|---|
AI-SENTRY-ENDPOINT-CONFIG | مثال لقيمة JSON موجود هنا. يُستخدم هذا لتعيين نقاط نهاية/عمليات نشر openai - بحيث عندما نقوم بموازنة التحميل، فإننا نصل إلى مجموعة من نماذج openAI نفسها من المجموعة. تأكد من تضمين /openai في تكوين عنوان URL لنقطة النهاية. يمكنك الاستفادة من البرنامج النصي التالي لمساعدتك في إنشاء سلسلة هروب JSON من JSON هذا. | تطبيق الواجهة |
AI-SENTRY-LANGUAGE-KEY | مفتاح واجهة برمجة التطبيقات العامة للخدمات Congnitive Services | عامل كوزموس دي بي |
AI-SENTRY-LANGUAGE-ENDPOINT | تحليلات النص بلغتك أو عنوان URL لنقطة نهاية الخدمة العامة | عامل كوزموس دي بي |
مهما كانت واجهة AI-Sentry، على سبيل المثال Azure APIM، وبعض تقنيات بوابة API الأخرى - ستحتاج إلى توفير بعض رؤوس HTTP الإلزامية.
اسم رأس HTTP | قيمة رأس HTTP |
---|---|
منظمة العفو الدولية-حارس-المستهلك | يمكن أن يكون هذا أي سلسلة - يتم استخدامه لتمثيل المستهلك أو المنتج الذي يستخدم الواجهة الخلفية للذكاء الاصطناعي التوليدي. نحن نستخدم هذا لأغراض التسجيل |
ai-sentry-log-level | يؤدي هذا إلى تبديل مستوى التسجيل للمستهلك الفعلي. القيم المقبولة هي: COMPLETE، أو PII_STRIPPING_ENABLED، أو DISABLED |
ai-sentry-backend-pool | قم بتوفير اسم التجمع من تكوين AI-SENTRY-ENDPOINT-CONFIG. على سبيل المثال Pool1 |
محولات AI-sentry | قم بتوفير قائمة بأسماء المحولات التي تريد تشغيلها قبل إرسال الطلب إلى نقطة نهاية openai. مثال: ["SampleApiRequestTransformer","adapter2..."] |
لمزيد من المعلومات حول إعداد AI-Sentry في بيئتك، يرجى اتباع الأقسام التفصيلية التالية.
إعداد CosmosDB dbs/table
إعداد AI-Sentry على AKS
مخطط تسجيل CosmosDB
مخطط تسجيل ملخص
إعداد هوية عبء العمل - إذا كنت تريد مصادقة الواجهة الخلفية لـ openai عبر JWT بدلاً من مفاتيح API
ولحسن الحظ، قام زميلنا غرايم فوستر بنشر نسخة دوت نت مع مجموعات ميزات مماثلة. يرجى الذهاب والتحقق من ذلك: https://github.com/microsoft/aicentral
يرحب هذا المشروع بالمساهمات والاقتراحات. تتطلب معظم المساهمات منك الموافقة على اتفاقية ترخيص المساهم (CLA) التي تعلن أن لديك الحق في منحنا حقوق استخدام مساهمتك، بل وتفعل ذلك بالفعل. للحصول على التفاصيل، تفضل بزيارة https://cla.opensource.microsoft.com.
عند إرسال طلب سحب، سيحدد روبوت CLA تلقائيًا ما إذا كنت بحاجة إلى تقديم CLA وتزيين العلاقات العامة بشكل مناسب (على سبيل المثال، التحقق من الحالة، التعليق). ما عليك سوى اتباع التعليمات التي يقدمها لك الروبوت. سوف تحتاج إلى القيام بذلك مرة واحدة فقط عبر جميع اتفاقيات إعادة الشراء باستخدام CLA الخاصة بنا.
اعتمد هذا المشروع قواعد السلوك الخاصة بشركة Microsoft مفتوحة المصدر. لمزيد من المعلومات، راجع الأسئلة الشائعة حول قواعد السلوك أو اتصل بـ [email protected] لطرح أي أسئلة أو تعليقات إضافية.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المصرح به للعلامات التجارية أو الشعارات الخاصة بشركة Microsoft ويجب أن يتبع إرشادات العلامة التجارية والعلامات التجارية الخاصة بشركة Microsoft. يجب ألا يتسبب استخدام العلامات التجارية أو الشعارات الخاصة بشركة Microsoft في الإصدارات المعدلة من هذا المشروع في حدوث ارتباك أو الإشارة ضمنًا إلى رعاية Microsoft. ويخضع أي استخدام لعلامات تجارية أو شعارات تابعة لجهات خارجية لسياسات تلك الجهات الخارجية.