OpenAI
هذه الصفحة مترجمة باستخدام الترجمة الآلية. تفضل بالاطّلاع على المقال الأصلي بالإنجليزية.

استدعاء الأدوات في واجهة OpenAI لبرمجة التطبيقات

ما هو استدعاء الأدوات وكيف يعمل في واجهة OpenAI لبرمجة التطبيقات؟

تم التحديث: last month

اعتبارًا من 11 مارس 2025، أطلقنا اللبنات الأساسية لمنصة الوكلاء الجديدة لدينا. للاطلاع على التفاصيل، راجع وثائق واجهة برمجة التطبيقات الخاصة بنا لكل من واجهة برمجة تطبيقات Responses، والأدوات بما في ذلك البحث على الويب، والبحث في الملفات، واستخدام الكمبيوتر، وحزمة تطوير الوكلاء (Agents SDK) مع التتبّع.

يتيح لك استدعاء الأدوات ربط نماذج OpenAI بالأدوات والأنظمة الخارجية. ويفيد ذلك في العديد من الاستخدامات، مثل تزويد مساعدي الذكاء الاصطناعي بقدرات إضافية، أو إنشاء عمليات تكامل عميقة بين تطبيقاتك والنماذج اللغوية الكبيرة.

تعرّف على المزيد في دليل المطور لاستدعاء الأدوات.

في يونيو 2024، أطلقنا المخرجات المنظَّمة. في النماذج وإعدادات الطلبات المدعومة، عندما يُصدر النموذج استدعاءً لدالة، يضمن تعيين strict: true في تعريف الدالة التزام الوسيطات المُنشأة بالمخطط المقدَّم، شريطة أن يستخدم المخطط المجموعة الفرعية المدعومة من JSON Schema وأن يستوفي متطلبات الوضع الصارم. تُرفض الطلبات التي تتضمن مخططات غير مدعومة أو غير متوافقة، وتظهر رسالة خطأ.

في أكتوبر 2024، أطلقنا ميزة «إنشاء أي شيء»، التي تتيح للمطورين وصف دالة أو لصقها مباشرةً، أو لصق التعليمات البرمجية لإنشاء مخطط صالح للدالة. تعرّف على المزيد عن «إنشاء أي شيء» في هذه المقالة في مركز المساعدة.

كيف يمكنني استخدام استدعاء الأدوات؟

استدعاء الأدوات مفيد لعدد كبير من حالات الاستخدام، مثل:

  • تمكين المساعدين من جلب البيانات:

  • تمكين المساعدين من اتخاذ إجراءات:

  • تمكين المساعدين من إجراء عمليات حسابية:

  • بناء مسارات عمل غنية:

  • مسار معالجة لاستخراج البيانات يجلب نصًا خامًا، ثم يحوّله إلى بيانات منظَّمة ويحفظه في قاعدة بيانات.

يُدعَم استدعاء الأدوات في واجهة برمجة تطبيقات Responses، التي توحّد الإمكانات التي كانت مقسّمة سابقًا بين واجهة برمجة تطبيقات إكمال المحادثات وواجهة برمجة تطبيقات Assistants.

كيف يمكنني استخدام وضع JSON؟

عند تشغيل وضع JSON، يتم ضمان أن تكون مخرجات النموذج بصيغة JSON صالحة، باستثناء بعض الحالات الطرفية التي ينبغي عليك اكتشافها والتعامل معها على نحو مناسب.

لطلب وضع JSON باستخدام واجهة برمجة تطبيقات إكمال المحادثات، اضبط response_format على { "type": "json_object" } في النماذج المدعومة. باستخدام واجهة برمجة تطبيقات Responses، اضبط text.format على { "type": "json_object" }، مثلًا text: { "format": { "type": "json_object" } }، حيثما ينطبق ذلك. في أيٍّ من واجهتَي برمجة التطبيقات، لا يعمل وضع JSON إلا عند استيفاء المتطلبات المسبقة للنموذج/الرسالة/الأداة (مثلًا، أن يدعم النموذج json_object، وأن تتضمن المحادثة تعليمات لإنتاج JSON، وأن تكون أي قيود للأدوات متوافقة). يجب أن تحتوي رسالة طلب واحدة على الأقل أو رسالة إدخال واحدة في سياق الإدخال الفعّال على json بصيغة غير حساسة لحالة الأحرف، مثل JSON أو json أو Json؛ وإلا فستُرجع واجهة برمجة التطبيقات خطأً. في Responses، لا يكفي حقل التعليمات ذي المستوى الأعلى وحده لاجتياز هذا التحقق. عند استخدام استدعاء الأدوات على نماذج/مسارات متوافقة، تُطبَّق قيود JSON تلقائيًا على وسائط استدعاء الدالة؛ وقد تُرفض النماذج غير المتوافقة أو مجموعات الأدوات/تنسيق الاستجابة غير المتوافقة، أو قد لا تستخدم أخذ عينات مقيَّدًا بـ JSON.

ملاحظات مهمة:

  • عند استخدام وضع JSON، يجب عليك دائمًا توجيه النموذج لإنتاج JSON عبر رسالة ما في المحادثة، مثلًا عبر رسالة النظام لديك. إذا لم تُدرج تعليمات صريحة لإنشاء JSON، فقد ينشئ النموذج دفقًا لا ينتهي من المسافات البيضاء، وقد يستمر الطلب في العمل إلى أن يصل إلى حد الرموز. للمساعدة في ضمان ألا تنسى ذلك، يرفض وضع JSON الطلبات ما لم تتضمن رسائل الإدخال أو التعليمات ذات الصلة كلمة json بشكل ما، دون حساسية لحالة الأحرف.

  • لا يضمن وضع JSON أن تطابق المخرجات أي مخطط محدد، بل يضمن فقط أنها صالحة ويمكن تحليلها دون أخطاء. ينبغي استخدام المخرجات المنظَّمة لضمان مطابقتها للمخطط لديك، أو إذا لم يكن ذلك ممكنًا، ينبغي استخدام مكتبة تحقق وربما إعادة المحاولة لضمان أن المخرجات تطابق المخطط المطلوب.

  • يجب أن يكتشف تطبيقك الحالات الطرفية التي قد تؤدي إلى ألا تكون مخرجات النموذج كائن JSON كاملًا وأن يتعامل معها (انظر أدناه)

هل كانت هذه المقالة مفيدة؟