Skip to main content
نحن نعلم أن دمج بعض واجهات برمجة التطبيقات للإجابة على الأسئلة في السوق ليس سهلاً نسبيًا، مثل واجهة برمجة التطبيقات الخاصة بـ OpenAI للدردشة، التي تحتوي على حقل messages. إذا أردنا إكمال محادثة مستمرة، نحتاج إلى تمرير كل تاريخ السياق، كما نحتاج أيضًا إلى معالجة مشكلة تجاوز حد الرموز. تقدم AceDataCloud واجهة برمجة تطبيقات الإجابة على الأسئلة بالذكاء الاصطناعي التي تم تحسينها لهذه الحالات، حيث تم تغليف تنفيذ المحادثات المستمرة مع الحفاظ على فعالية الإجابة، مما يعني أنه لا داعي للقلق بشأن تمرير الرسائل أو مشكلة تجاوز حد الرموز (تمت معالجتها تلقائيًا داخل واجهة برمجة التطبيقات). كما توفر أيضًا ميزات استعلام وتعديل المحادثات، مما يبسط عملية الدمج بشكل كبير. ستتناول هذه الوثيقة تعليمات دمج واجهة برمجة تطبيقات الإجابة على الأسئلة بالذكاء الاصطناعي.

عملية التقديم

لاستخدام واجهة برمجة التطبيقات، تحتاج أولاً إلى زيارة صفحة واجهة برمجة تطبيقات الإجابة على الأسئلة بالذكاء الاصطناعي وتقديم طلب للحصول على الخدمة المناسبة. بعد دخول الصفحة، انقر على زر “Acquire”، كما هو موضح في الصورة: إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد تسجيل الدخول، سيتم إرجاعك تلقائيًا إلى الصفحة الحالية. عند التقديم لأول مرة، ستحصل على حصة مجانية يمكن استخدامها مجانًا.

الاستخدام الأساسي

أولاً، يجب أن نفهم طريقة الاستخدام الأساسية، وهي إدخال السؤال والحصول على الإجابة، كل ما عليك هو تمرير حقل question وتحديد النموذج المناسب. على سبيل المثال، إذا سألت: “What’s your name؟”، يمكننا بعد ذلك ملء المحتوى المقابل على الواجهة، كما هو موضح في الصورة: يمكنك أن ترى أننا قمنا بتعيين رؤوس الطلب، بما في ذلك:
  • accept: نوع الاستجابة التي ترغب في تلقيها، هنا نكتب application/json، أي بتنسيق JSON.
  • authorization: مفتاح استدعاء واجهة برمجة التطبيقات، يمكنك اختياره مباشرة بعد التقديم.
كما قمنا بتعيين جسم الطلب، بما في ذلك:
  • model: اختيار النموذج، مثل GPT 3.5 أو GPT 4.
  • question: السؤال الذي ترغب في طرحه، يمكن أن يكون نصًا عاديًا.
بعد الاختيار، يمكنك أن تلاحظ أن الجانب الأيمن قد أنشأ الكود المقابل، كما هو موضح في الصورة:

انقر على زر “Try” لإجراء الاختبار، كما هو موضح في الصورة أعلاه، وهنا حصلنا على النتيجة التالية:
يمكنك أن ترى أن النتيجة التي تم إرجاعها تحتوي على حقل answer، وهو إجابة السؤال. يمكنك إدخال أي سؤال، وستحصل على أي إجابة. إذا كنت لا تحتاج إلى دعم أي محادثات متعددة، فإن هذه الواجهة يمكن أن تسهل بشكل كبير عملية الدمج الخاصة بك. بالإضافة إلى ذلك، إذا كنت ترغب في توليد الكود المقابل للدمج، يمكنك نسخه مباشرة، على سبيل المثال، كود CURL كما يلي:
كود الدمج بلغة Python كما يلي:

المحادثة متعددة الجولات

إذا كنت ترغب في دمج وظيفة المحادثة متعددة الجولات، تحتاج إلى تمرير معلمة إضافية stateful، وقيمتها تكون true، ويجب أن تتضمن كل طلب لاحق هذه المعلمة. بعد تمرير معلمة stateful، ستقوم واجهة برمجة التطبيقات بإرجاع معلمة إضافية id، تمثل معرف المحادثة الحالية، وفيما بعد، كل ما عليك هو تمرير هذا المعرف كمعلمة، مما يسهل تنفيذ المحادثة متعددة الجولات. دعنا نوضح العملية المحددة. في الطلب الأول، قم بتعيين معلمة stateful إلى true، ومرر بشكل طبيعي معلمات model و question، كما هو موضح في الصورة: الكود المقابل كما يلي:
يمكنك الحصول على الإجابة التالية:
في الطلب الثاني، قم بتمرير حقل id الذي تم إرجاعه من الطلب الأول كمعلمة، مع الحفاظ على معلمة stateful كـ true، واسأل “What I asked you just now؟”، كما هو موضح في الصورة: الكود المقابل كما يلي:
النتيجة كما يلي:
يمكنك أن ترى أنه يمكننا الإجابة على الأسئلة بناءً على السياق.

الاستجابة المتدفقة

تدعم هذه الواجهة أيضًا الاستجابة المتدفقة، وهو أمر مفيد جدًا لدمج الويب، حيث يمكن أن يتيح للويب عرض النتائج حرفيًا. إذا كنت ترغب في الحصول على استجابة متدفقة، يمكنك تغيير معلمة accept في رأس الطلب إلى application/x-ndjson. التعديل كما هو موضح في الصورة، ولكن يجب أن يكون هناك تغييرات في كود الاستدعاء لدعم الاستجابة المتدفقة. بعد تغيير accept إلى application/x-ndjson، ستقوم واجهة برمجة التطبيقات بإرجاع بيانات JSON المقابلة سطرًا بسطر، وعلى مستوى الكود، نحتاج إلى إجراء التعديلات اللازمة للحصول على النتائج سطرًا بسطر. كود استدعاء Python النموذجي:
输出效果如下:
يمكن رؤية أن answer في الاستجابة هو المحتوى الأحدث للإجابة، و delta_answer هو المحتوى الجديد المضاف، يمكنك استخدام النتائج لدمجها في نظامك. JavaScript أيضًا مدعوم، على سبيل المثال، كود الاستدعاء المتدفق لـ Node.js كما يلي:
مثال كود Java:
يمكنك إعادة كتابة الكود بلغات أخرى، المبدأ هو نفسه.

نموذج الإعدادات

نعلم أن واجهات برمجة التطبيقات المتعلقة بـ OpenAI تحتوي على مفهوم system_prompt، وهو إعداد نموذج كامل، مثل ما اسمه وما إلى ذلك. هذه واجهة برمجة التطبيقات الخاصة بالأسئلة والأجوبة AI تعرض أيضًا هذه المعلمة، المسماة preset، باستخدامها يمكننا إضافة إعدادات للنموذج، دعنا نجرب مثالاً: هنا نضيف حقل preset إضافي، المحتوى هو أنت فنان محترف، كما هو موضح في الصورة: الكود المقابل كما يلي:
نتيجة التشغيل كما يلي:
يمكننا أن نرى هنا أننا أخبرنا GPT أنه روبوت، ثم سألناه ماذا يمكنه أن يفعل من أجلنا، ويمكنه أن يتقمص دور الروبوت للإجابة على الأسئلة.

التعرف على الصور

يمكن لهذا AI أيضًا دعم إضافة مرفقات لإجراء التعرف على الصور، من خلال تمرير روابط الصور المقابلة عبر references، على سبيل المثال، لدي هنا صورة لتفاح، كما هو موضح في الصورة: رابط الصورة هو https://cdn.acedata.cloud/ht05g0.png، نقوم بتمريره مباشرة كمعامل references، مع ملاحظة أنه يجب اختيار نموذج يدعم التعرف على الصور، والنموذج المدعوم حاليًا هو gpt-4-vision، لذا الإدخال كما يلي: الكود المقابل كما يلي:
نتيجة التشغيل كما يلي:
يمكننا أن نرى أننا حصلنا بنجاح على نتيجة الإجابة عن الصورة المقابلة.

الأسئلة والأجوبة المتصلة بالإنترنت

تدعم هذه الواجهة أيضًا نماذج متصلة بالإنترنت، بما في ذلك GPT-3.5 وGPT-4، حيث يوجد عملية بحث تلقائية على الإنترنت وتلخيص، يمكننا اختيار النموذج ليكون gpt-3.5-browsing لتجربته، كما هو موضح في الصورة: الكود كما يلي:
نتيجة التشغيل كما يلي:
يمكنك أن ترى، هنا قام بالبحث تلقائيًا على موقع قناة الطقس، وحصل على المعلومات الموجودة فيه، ثم عاد ليقدم النتائج الحية.
إذا كانت لديك متطلبات أعلى لجودة إجابات النموذج، يمكنك تغيير النموذج إلى gpt-4-browsing، وستكون جودة الإجابة أفضل.