بوابة API لإضافات ChatGPT
April 19, 2023
أطلقت OpenAI مؤخرًا إصدارًا جديدًا من ChatGPT والذي يسمح الآن بالإضافات داخل ChatGPT. يمكن إضافة هذه الإضافات مباشرة إلى روبوت الدردشة، مما يوفر له الوصول إلى مجموعة واسعة من المعرفة والمعلومات من شركائه الخارجيين عبر واجهات برمجة التطبيقات (APIs). يمكن لإضافات ChatGPT توسيع وظائفها وتعزيز قدراتها للوصول إلى معلومات محدثة مثل تكاليف السفر البحثية، أو العثور على معلومات التخفيضات، أو مساعدتك في حجز الرحلات وطلب الطعام. يمكنك أيضًا بناء إضافة خاصة بك تسمح لـ ChatGPT باستدعاء بيانات واجهة برمجة التطبيقات الخاصة بك بذكاء.
نعم، هذا صحيح! لجعل بياناتك قابلة للوصول من خلال إضافة ChatGPT المخصصة، يتطلب منك ChatGPT بناء واجهة برمجة تطبيقات جديدة أو استخدام واجهة برمجة تطبيقات موجودة يمكن استخدامها لاستعلامها واستقبال ردودها. ثم يقوم بإنشاء إجابة سهلة الفهم من خلال دمج بيانات واجهة برمجة التطبيقات وقدراته اللغوية الطبيعية. في هذه الحالة، يمكن لـ API Gateway المساعدة في تحسين الأمان، وسهولة الاستخدام، والكفاءة. تستكشف هذه المقالة كيف يمكن لـ API Gateway أن يكون مفيدًا لمطوري إضافات ChatGPT في عرض، تأمين، إدارة، ومراقبة نقاط نهاية واجهات برمجة التطبيقات الخاصة بهم.
وفقًا لـ OpenAI: يقوم مطور الإضافة بكتابة مواصفات لواجهة برمجة التطبيقات باستخدام معيار OpenAPI الذي يمكّن ChatGPT من التفاعل مع واجهات برمجة التطبيقات التي يحددها المطورون.
أهداف التعلم
ستتعلم ما يلي خلال المقال:
- فهم دور API Gateway في بناء واجهة برمجة تطبيقات إضافة ChatGPT.
- كيفية نشر، تأمين، مراقبة، وتطبيق اعتبارات أخرى متقاطعة لواجهة برمجة تطبيقات الإضافة.
- كيفية استخدام Apache APISIX (بوابة واجهة برمجة تطبيقات مفتوحة المصدر) مع إضافات ChatGPT.
دور API Gateway
تعمل API Gateway كجسر بين إضافة ChatGPT وواجهة برمجة التطبيقات الخاصة بك من خلال توفير واجهة اتصال موحدة. تدير واجهة برمجة التطبيقات الوصول، الأمان، والأداء، وتوفر ميزات أخرى متقاطعة. افترض أنك تريد بناء إضافة ChatGPT للحصول على معلومات التخفيضات من الأسواق في مدينتك، قد يكون لديك واجهات برمجة تطبيقات مختلفة لعرض المنتجات الجديدة، الأسواق الأقرب، وأحدث العروض. في هذا السياق، ستكون API Gateway طبقة إضافية بين واجهة برمجة التطبيقات الخاصة بك والإضافة.
على سبيل المثال، يمكن لـ API Gateway دمج ChatGPT مع واجهات برمجة تطبيقات أخرى مثل واجهة برمجة تطبيقات معالجة اللغة الطبيعية بخلاف OpenAI أو واجهة برمجة تطبيقات الترجمة من مزودين آخرين، مما يسمح للعملاء بالوصول إلى خدمات متعددة من خلال إضافة واحدة عبر مسارات URI مخصصة وخدمات upstream (خوادم واجهات برمجة تطبيقات خلفية متعددة)، وتوجيه الطلبات إلى واجهة برمجة التطبيقات المناسبة وإعادة الرد إلى ChatGPT.
تعزيز الأمان
أحد الأدوار الرئيسية لـ API Gateway في ChatGPT هو التعامل مع المصادقة والتفويض. يتضمن ذلك التحقق من هوية مستخدم الإضافة وتحديد ما إذا كان لديه الأذونات اللازمة للوصول إلى واجهة برمجة التطبيقات من الإضافة. قد تستخدم OpenAI مجموعة متنوعة من آليات المصادقة، مثل OAuth، مفاتيح API، أو بروتوكولات مصادقة مخصصة، وتنقل بيانات اعتماد المستخدم إلى API Gateway. ثم يمكن لـ API Gateway إجراء التحقق من المصادقة بشكل تلقائي للتحقق مما إذا كان المستخدم مصادقًا عليه أم لا. لا تحتاج إلى كتابة أي كود تنفيذي لعملية التحقق هذه لكل واجهة برمجة تطبيقات.
بشكل أساسي، تعمل بوابات واجهات برمجة التطبيقات كـ إجراء أمني لحماية ضد محاولات الاختراق المحتملة. تقوم API Gateway بتقييد أنواع معينة من الطلبات، مثل حظر طلبات POST غير المصرح بها إلى مسار معين ما لم يكن المرسل لديه الصلاحيات المناسبة أو يتضمن رأسًا معينًا في الطلب.
لنفترض أن شركة لديها واجهة برمجة تطبيقات للتجارة الإلكترونية تسمح للعملاء بوضع الطلبات عبر إضافة ChatGPT. يتم تكوين API Gateway لحظر طلبات POST إلى مسار "وضع الطلب" ما لم يتضمن الطلب مفتاح API صالحًا في رأس الطلب، والذي يعمل كرمز وصول مميز. هذا يعني أنه سيتم السماح فقط للطلبات المصادق عليها والمصرح لها بمفتاح API الصحيح بإنشاء طلبات جديدة، بينما سيتم حظر الطلبات غير المصرح بها، مما يحمي بشكل فعال من المحاولات الخبيثة المحتملة لوضع طلبات وهمية أو التلاعب بالنظام. انظر ملخص الميزات الأمنية الأخرى أدناه.
تحديد معدل الطلبات بكفاءة
دور آخر مهم لـ API Gateway هو التعامل مع تحديد معدل الطلبات. يضمن ذلك ألا تثقل إضافة ChatGPT واجهة برمجة التطبيقات بالعديد من الطلبات في وقت واحد، مما قد يؤثر على أدائها أو يتسبب في تعطلها. يمكن لـ API Gateway تحديد عدد الطلبات التي يمكن للعميل إجراؤها خلال فترة زمنية معينة وحظر الطلبات التي تتجاوز الحد.
الأداء العالي
الأداء هو مجال آخر يمكن أن تساعد فيه API Gateway في تحسين أداء إضافة ChatGPT. على سبيل المثال، يمكن لـ API Gateway تنفيذ التخزين المؤقت لتخزين الردود المطلوبة بشكل متكرر وإعادتها بسرعة دون الحاجة إلى استعلام واجهة برمجة التطبيقات الفعلية. يمكن لـ API Gateway أيضًا التعامل مع تحويل الطلبات/الردود لتحويل الطلبات الواردة إلى تنسيق (مثل تحويل طلبات REST إلى GraphQL) يمكن لواجهة برمجة التطبيقات الخاصة بك فهمه وتحويل الردود إلى تنسيق يمكن للإضافة استهلاكه.
المراقبة المستمرة
حتى إذا ذكرت OpenAI أن ChatGPT لا يستخدم البيانات المقدمة من العملاء عبر واجهة برمجة التطبيقات الخاصة بنا لتدريب أو تحسين نماذجها، فإن تمكين ميزات المراقبة مهم لأسباب أخرى عديدة. يمكن لـ API Gateway توفير رؤى حول كيفية استخدام إضافة ChatGPT، ونوع البيانات التي يتم مشاركتها، وتحديد أي مشكلات تحتاج إلى معالجة من خلال مراقبة الطلبات التي تقوم بها إضافتك بشكل مستمر.
كيفية استخدام Apache APISIX مع إضافات ChatGPT
بعد أن فهمنا سبب أهمية API Gateway في بناء إضافات ChatGPT، دعونا نلقي نظرة على خطوات بسيطة حول كيفية استخدام بوابة واجهة برمجة التطبيقات Apache APISIX قبل مشاركة إضافة جديدة على ChatGPT. هناك العديد من بوابات واجهات برمجة التطبيقات الأخرى في السوق، هذا المقال يمكن أن يساعدك في تحديد أي منها يناسب احتياجاتك.
في وقت كتابة هذه المقالة، كان ChatGPT يقتصر الوصول إليه، وللحصول على وصول ألفا إلى OpenAI، تحتاج إلى التسجيل في قائمة انتظار إضافات ChatGPT. سيتم إعطاء الأولوية للمطورين ومستخدمي ChatGPT Plus قبل إطلاقها للجمهور الأوسع.
- قم بتثبيت وتشغيل Apache APISIX إما محليًا في بيئة تطوير أو على خادم بعيد (في السحابة). إذا قمت بتشغيلها محليًا، يمكن الوصول إلى APISIX عبر http://localhost:9080
- قم بتكوين مسار و upstream لكل من نقاط نهاية واجهة برمجة التطبيقات الخاصة بك سواء كنت تطلب Admin API (يعمل على http://localhost:9180) أو لوحة تحكم سهلة الاستخدام. يمكنك أيضًا استيراد مواصفات OpenAPI الموجودة لتسجيل المسارات و upstream تلقائيًا.
- يمكنك تمكين بعض ميزات API Gateway، مثل المصادقة، تحديد معدل الطلبات، والمراقبة باستخدام إضافات APISIX.
- يمكنك تصدير مواصفات OpenAPI المحدثة لاستخدامها في ChatGPT. قم بإجراء التغييرات اللازمة في المستند الناتج
YAML/JSON
. ضع هذا الملف في مكان ما في خادم APISIX عبر مسار آخر بحيث يمكن لـ ChatGPT العثور عليه في هذا المسار/openapi.yaml
مثل[http://localhost:9080/openapi.yaml](http://localhost:9080/openapi.yaml).
يتم تجميع هذه المواصفات في موجه، يشرح لـ ChatGPT كيف يمكنه استخدام واجهة برمجة التطبيقات لتعزيز إجاباته. فكر في موجه تفصيلي، يتضمن وصفًا لكل نقطة نهاية متاحة. - الخطوات الأخرى، مثل تحديد ملف manifest، تشغيل إضافة، وكتابة الأوصاف هي نفسها كما هي موثقة جيدًا في توثيق OpenAI الرسمي. عند توصيل الإضافة عبر واجهة ChatGPT وتشغيل الإضافة، تأكد من أن عنوان النطاق يشير إلى بوابة واجهة برمجة التطبيقات APISIX.
- أخيرًا، يطرح المستخدم أسئلة جديدة عن طريق تمكين الإضافة على واجهة ChatGPT. إذا قرر ChatGPT أنه يجب عليه الحصول على معلومات من واجهة برمجة التطبيقات، فسيقوم بإجراء الطلب إلى API Gateway وإضافته إلى السياق قبل محاولة الرد.
ملخص أمان واجهة برمجة التطبيقات لإضافة ChatGPT
انظر إلى هذا الملخص لعروض API Gateway لتأمين واجهة برمجة التطبيقات لإضافة ChatGPT:
- بروتوكولات المصادقة: مع API Gateway، يمكنك اختيار بروتوكول مصادقة قوي وآمن، مثل OAuth 2.0 أو JSON Web Tokens (JWT)، لمصادقة طلبات واجهة برمجة التطبيقات.
- المصادقة الثنائية (2FA): يمكنك تنفيذ 2FA من خلال التكامل مع مزودي الهوية المختلفين مما يمكن أن يضيف طبقة إضافية من الأمان لمصادقة واجهة برمجة التطبيقات.
- إدارة الرموز الآمنة: يمكنك تخزين الرموز بشكل آمن عن طريق تجنب تخزينها في التطبيقات من جانب العميل أو في مواقع غير آمنة، مثل ملفات تعريف الارتباط من جانب العميل أو التخزين المحلي.
- التحكم في الوصول بناءً على الأدوار (RBAC): يمكنك تمكين RBAC للتحكم في الأذونات والإجراءات التي يمكن للمستخدمين أو التطبيقات المختلفة تنفيذها داخل واجهة برمجة تطبيقات إضافة ChatGPT.
- أمان طبقة النقل (TLS): تحتوي واجهة برمجة التطبيقات على خيار TLS لتشفير الاتصال بين العملاء والخوادم عبر الشبكة.
- تحديد معدل طلبات واجهة برمجة التطبيقات: توفر API Gateway آليات تحديد معدل الطلبات لمنع إساءة استخدام أو سوء استخدام واجهة برمجة تطبيقات إضافة ChatGPT.
- التسجيل والمراجعة: يمكنك استخدام API Gateway مع منصات مراقبة أخرى لآليات تسجيل ومراجعة شاملة لتتبع ومراقبة طلبات واجهة برمجة التطبيقات والردود.
الخلاصة
إدخال تكامل الإضافات إلى ChatGPT هو ترقية لـ OpenAI. كما أنه تغيير مهم في مجال الذكاء الاصطناعي الموجه للمستخدم لنموذج GPT. توفر API Gateway واجهة اتصال عالية الأداء لعرض واجهة برمجة التطبيقات الخاصة بك بأمان، إلى جانب الأمان، سياسات تحديد معدل الطلبات، طرق المصادقة، والمراقبة. بدون API Gateway، سيكون من الصعب جدًا دمج ChatGPT في أنظمة أخرى، وسيتعين على العملاء إدارة المصادقة، تحديد معدل الطلبات، والميزات الأخرى بأنفسهم.