تتضمن عملية استدعاء الأدوات عدة عناصر أساسية تعمل معًا لتيسير تفاعُل الذكاء الاصطناعي مع الأدوات الخارجية. تمتلك نماذج LLM الحديثة، بما في ذلك Claude من Anthropic وLlama 3 من Meta وMistral وIBM® Granite، قدرات على استدعاء الأدوات، لكنها تختلف قليلًا في طريقة التعامل معها.
العنصر الأول هو نموذج الذكاء الاصطناعي نفسه، والذي يستطيع التعرُّف على الحالات التي يفتقر فيها إلى المعرفة الكافية أو يحتاج فيها إلى وظيفة خارجية لإتمام الطلب.
بعد ذلك، تحدِّد آلية اختيار الأداة الموارد المناسبة للتعامل مع المهمة المحددة، سواء أكانت محرك بحث أم قاعدة بيانات أم موردًا حاسوبيًا.
عند تحديد أداة، يتم تفعيل واجهة برمجة التطبيقات، ما يسمح للذكاء الاصطناعي بإرسال استعلامات منظمة وتلقّي استجابات بتنسيق قابل للقراءة آليًا.
أخيرًا، يساعد نظام معالجة الاستجابة على تأكيد تنسيق البيانات المستردة بشكل صحيح وعرضها للمستخدم بطريقة مفهومة.
الخطوة 1. إدراك الحاجة إلى أداة
لنفترض أن مستخدمًا يسأل نموذجًا لغويًا كبيرًا: "ما حالة الطقس في سان فرانسيسكو الآن؟" يستخدم الذكاء الاصطناعي فهم اللغة الطبيعية للتعرُّف على أن بيانات الطقس في الوقت الفعلي مطلوبة، وهو ما لا يمكن استخلاصه من قاعدة معارفه الثابتة.
يتم تعيين معرّف فريد لاستدعاء الأداة تلقائيًا لطلب مقدَّم من أحد النماذج لاستخدام الأداة، والذي يعمل كرقم تتبُّع لربط الطلب بالنتائج المقابلة له.
الخطوة 2. اختيار الأداة
يحدِّد الذكاء الاصطناعي أفضل أداة للمهمة، وفي هذه الحالة فحص قاعدة بيانات الطقس الحالية. تساعد هذه الخطوة على التأكد من أن المعلومات المستردة دقيقة وذات صلة.
تحتوي كل أداة على بيانات وصفية ومعلومات منظمة مثل اسم أداة فريد (أو اسم وظيفة)، ما يساعد النموذج والنظام على التعرُّف عليها بشكل صحيح. تتضمن البيانات الوصفية الأخرى وصفًا ومَعلمات الأداة وأنواع الإدخال والإخراج المطلوبة.
يقوم النموذج باختيار الأداة المناسبة بعد أن يحدِّد أن البيانات يجب الحصول عليها من بين مجموعة من الأدوات المتاحة.
القوالب هي تنسيقات موجِّهات منظمة تُخبر النموذج بالأداة التي يجب استخدامها والمعاملات (args) التي ينبغي تمريرها، ما يُتيح تفاعلًا أكثر تحكمًا وتنظيمًا مع واجهات برمجة التطبيقات.
في سياق استدعاء الأدوات، تُشير المعاملات إلى المدخلات المنظمة التي يتم تمريرها إلى أداة أو وظيفة عند تشغيلها بواسطة نموذج توليدي. هذه المعاملات تحدِّد المًعلمات التي تتطلبها الأداة للتنفيذ بشكل صحيح.
يساهم الجمع بين استدعاء الأدوات والتوليد المعزز بالاسترجاع (RAG) في تعزيز قدرات الذكاء الاصطناعي من خلال تمكين الأنظمة من استرجاع البيانات المنظمة وغير المنظمة قبل توليد مخرجات منظمة.
يُعزز هذا الأسلوب ملاءمة السياق من خلال جلب البيانات الأكثر صلة قبل توليد الاستجابة، ما يؤدي إلى نتائج أكثر دقة ووعيًا بالمحتوى.
كما يقلل من عبء واجهات برمجة التطبيقات من خلال دمج عمليات الاسترجاع المتعددة في خطوة واحدة، ما يُسهم بدوره في تقليل زمن الانتقال والتكاليف. يُعَد التوليد المعزز بالاسترجاع أكثر مرونة من أساليب استدعاء الأدوات التقليدية، إذ يُتيح للنماذج الاستفادة من مصادر متنوعة، ما يجعله قابلًا للتكيّف بدرجة عالية عبر مختلَف المجالات.
على عكس البنية الصارمة لاستخدام الأدوات التقليدية، يُتيح RAG دمجًا أكثر سلاسة للمعرفة المسترجعة مع عمليات الاستدلال والتوليد، ما يؤدي إلى ردود أكثر ديناميكية وعمقًا.
الخطوة 3. إنشاء استعلام وإرساله
بعد ذلك، يُنشئ الذكاء الاصطناعي طلبًا مُنظمًا يمكن للأداة أو واجهة برمجة التطبيقات فهمه.
ترتبط كل أداة بمجموعة من الوظائف المحددة التي توضِّح مهامها. وتعتمد هذه الوظائف على مرجع واجهة برمجة التطبيقات، الذي يوفر توثيقًا لكيفية التفاعل مع واجهة البرمجة الخاصة بالأداة، بما يشمل عناوين نقاط النهاية، وطرق الطلب، وتنسيقات الاستجابة.
للوصول إلى واجهة برمجة تطبيقات خارجية، تتطلب العديد من الخدمات مفتاح واجهة برمجة التطبيقات (API)، وهو معرِّف فريد يمنح الإذن بإجراء الطلبات. عند تحديد الأداة وتعيين المَعلمات، يتم إجراء استدعاء واجهة برمجة التطبيقات لجلب البيانات المطلوبة. ويتم إرسال هذا الطلب عادةً عبر HTTP إلى خادم خارجي.
الخطوة 4. تلقّي الرد ومعالجته
تُعيد الأداة الخارجية البيانات. يجب على الذكاء الاصطناعي بعد ذلك تحليل نتائج الأداة. بالنسبة إلى طلب حالة الطقس، قد تستجيب واجهة برمجة التطبيقات بكائن مخطط JSON يحتوي على درجة الحرارة والرطوبة وسرعة الرياح. يُعيد الذكاء الاصطناعي تنظيم هذه البيانات وهيكلتها لتلخيص استجابة ذات مغزى للمستخدم.
الخطوة 5. تقديم المعلومات أو اتخاذ الإجراءات
يعرض الذكاء الاصطناعي المعلومات التي تمت معالجتها بطريقة سهلة الفهم. وإذا كان الطلب يتضمن أتمتة، مثل ضبط تذكير، فسيؤكد الذكاء الاصطناعي أن الإجراء قد تمت جدولته.
الخطوة 6. تنقيح البحث
إذا طلب المستخدم مزيدًا من التفاصيل أو التعديلات، يمكن للذكاء الاصطناعي تكرار العملية باستخدام استعلام معدَّل، ما يساعد على ضمان استمراره في تحسين استجابته بناءً على احتياجات المستخدم.
يُستخدم LangChain بشكل شائع في استدعاء الأدوات، حيث يوفر إطار عمل مفتوح المصدر لدمج الأدوات الخارجية وواجهات برمجة التطبيقات والوظائف مع النماذج اللغوية الكبيرة. ويساعد على إدارة تنفيذ الأدوات ومعالجة الإدخال أو الإخراج وصناعة القرار بناءً على السياق.
على سبيل المثال، يتعامل LangChain مع معاملات الوظائف باستخدام محلل لاستعلامات المستخدم، حيث يستخرج المعلمات ذات الصلة ويُنسقها بشكل صحيح لتتوافق مع الأداة. على عكس استدعاء الأداة البسيطة، يمكن لإطار LangChain تخزين واستدعاء مخرجات الأداة السابقة، ما يُتيح تفاعلات متعددة الأدوار بشكل أفضل.
يُتيح LangChain دمج عدة أدوات بشكل متسلسل، ما يمكِّن من تنفيذ سير عمل وكيل أكثر تعقيدًا. فعلى سبيل المثال، يمكنه أولًا جلب البيانات من واجهة الطقس، ثم استخدام أداة أخرى لاقتراح الملابس المناسبة بناءً على التوقعات.