استدعاء الأدوات في النماذج اللغوية الكبيرة (LLMs) هو قدرة النموذج على التفاعل مع الأدوات أو الخدمات أو واجهات برمجة التطبيقات الخارجية لأداء المهام. ويُتيح هذا لنماذج LLM توسيع وظائفها، ما يعزز قدرتها على التعامل مع المهام الواقعية التي قد تتطلب الوصول إلى بيانات خارجية أو معلومات في الوقت الفعلي أو تطبيقات محددة. عندما يستخدم نموذج LLM أداة بحث على الويب، يمكنه استدعاء الويب لجلب البيانات غير المتوفرة في بيانات تدريب النموذج في الوقت الفعلي. قد تشمل أنواع الأدوات الأخرى لغة Python لإجراء الحسابات أو تحليل البيانات أو تصوُّرها، أو الاتصال بنقطة نهاية الخدمة للحصول على البيانات. يمكن لاستدعاء الأدوات أن يجعل روبوت المحادثة أكثر ديناميكية ومرونة، ما يمكِّنه من تقديم ردود أكثر دقة وملاءمة وتفصيلًا استنادًا إلى بيانات مباشرة أو مهام متخصصة خارج نطاق معرفته الفورية. من أطر العمل الشائعة في استدعاء الأدوات: Langchain وollama حاليًا.
يُعَد Ollama منصة توفِّر نماذج ذكاء اصطناعي محلية ومفتوحة المصدر للاستخدام على الأجهزة الشخصية، ما يُتيح للمستخدمين تشغيل النماذج اللغوية الكبيرة مباشرةً على أجهزتهم. على عكس الخدمات مثل واجهة OpenAI البرمجية، لا حاجة إلى حساب؛ لأن النموذج يعمل على جهازك المحلي. يركِّز Ollama على الخصوصية، والأداء، وسهولة الاستخدام، ما يُتيح للمستخدمين الوصول إلى نماذج الذكاء الاصطناعي والتفاعل معها دون إرسال البيانات إلى خوادم خارجية. قد يكون هذا جذابًا بشكل خاص لمن يهتمون بخصوصية البيانات أو يريدون تجنُّب الاعتماد على واجهات برمجة التطبيقات الخارجية. تم تصميم Ollama ليكون سهل الإعداد والاستخدام، كما يدعم نماذج متعددة، ما يمنح المستخدمين مجموعة من الأدوات لمعالجة اللغة الطبيعية وتوليد الأكواد وغيرها من مهام الذكاء الاصطناعي مباشرةً على أجهزتهم. وهو ملائم تمامًا لهندسة استدعاء الأدوات؛ نظرًا لقدرته على الوصول إلى جميع قدرات البيئة المحلية، بما في ذلك البيانات والبرامج والبرمجيات المخصصة.
في هذا البرنامج التعليمي، ستتعرَّف على كيفية إعداد استدعاء الأدوات باستخدام ollama للبحث في نظام الملفات المحلي، وهي مهمة يصعب القيام بها باستخدام نموذج لغوي كبير عن بُعد. تتوفر العديد من نماذج ollama لاستدعاء الأدوات وبناء وكلاء الذكاء الاصطناعي مثل Mistral وLlama 3.2، وتتوفر قائمة كاملة على موقع ollama الإلكتروني. في هذه الحالة سنستخدم IBM Granite 3.2 Dense الذي يدعم الأدوات. النموذجان 2B و8B هما نموذجان لغويان كبيران كثيفان يعتمدان ع على النصوص فقط، وقد تم تدريبهما لدعم حالات الاستخدام القائمة على الأدوات، وكذلك لتعزيز التوليد المعزز بالاسترجاع (RAG)، ما يجعل من السهل توليد الأكواد، والترجمة، وتصحيح الأخطاء.
يمكن تنزيل دفتر الملاحظات لهذا البرنامج التعليمي من Github هنا.
أولًا ستقوم بتنزيل ollama من https://ollama.com/download وتثبيته على نظام التشغيل لديك. على نظام OSX يتم ذلك من خلال ملف .dmg، وعلى نظام Linux عبر أمر واحد في سطر الأوامر، وعلى Windows باستخدام برنامج التثبيت. قد تحتاج إلى صلاحيات المسؤول على جهازك لتشغيل برنامج التثبيت.
يمكنك التحقق من تثبيت ollama بشكل صحيح عن طريق فتح محطة طرفية أو موجِّه أوامر وإدخال:
بعد ذلك، ستضيف عمليات الاستيراد الأوَّلية. سيستخدم هذا العرض التوضيحي مكتبة ollama في Python للتواصل مع ollama، ومكتبة pymupdf لقراءة ملفات PDF في نظام الملفات.
بعد ذلك ستسحب النموذج الذي ستستخدمه خلال هذا البرنامج التعليمي. يؤدي هذا إلى تنزيل أوزان النموذج من ollama إلى جهازك المحلي وتخزينها للاستخدام لاحقًا دون الحاجة إلى إجراء أي استدعاءات عن بُعد لواجهة برمجة التطبيقات لاحقًا.
ستحدِّد الآن الأدوات التي سيتمكن مثيل أدوات ollama من الوصول إليها. نظرًا لأن الهدف من الأدوات هو قراءة الملفات والبحث في الصور في نظام الملفات المحلي، ستُنشئ دالتَين من أدوات python لكلٍّ من هذه الأدوات. الدالة الأولى اسمها
يمكنك استخدام مطابقة سلسلة نصية بسيطة للتحقق مما إذا كانت الكلمة الرئيسية موجودة في المستند، ولكن نظرًا لأن ollama يسهِّل استدعاء النماذج اللغوية الكبيرة المحلية،
إذا استجاب النموذج بـ "نعم"، تُظهر الدالة اسم الملف الذي يحتوي على الكلمة الرئيسية التي أشار إليها المستخدم في الموجِّه. إذا لم يظهر أن أيًا من الملفات يحتوي على المعلومات، فإن الدالة تُظهِر "None" كسلسلة نصية.
قد تعمل هذه الدالة ببطء في المرة الأولى؛ لأن ollama سيقوم بتنزيل Granite 3.2 Dense.
الأداة الثانية تُسمَّى
تُعيد الدالة سلسلة نصية، وهي اسم الملف الذي يحتوي وصفه
على الكلمة الرئيسية التي أشار إليها المستخدم في الموجِّه.
الآن وبعد تحديد الدوال التي يستطيع ollama استدعاءها، ستعمل على إعداد بيانات الأداة لـ ollama ذاته. الخطوة الأولى هي إنشاء كائن يربط اسم الأداة بالدوال الخاصة باستدعاء الدوال في ollama.
بعد ذلك، هيِّئ مصفوفة الأدوات لإخبار ollama بالأدوات التي سيكون له حق الوصول إليها والمتطلبات الخاصة بكل أداة. هذه مصفوفة تحتوي على مخطط كائن واحد لكل أداة تُخبر إطار عمل استدعاء الأدوات في ollama بكيفية استدعاء الأداة وبما تُعيده.
في حالة كِلتا الأداتين اللتين أنشأتهما سابقًا، فإنهما دالتان تتطلبان مَعلمة
ستستخدم تعريف الأدوات هذا عند استدعاء ollama بواسطة إدخال المستخدم.
حان الوقت الآن لتمرير إدخال المستخدم إلى ollama ليُعيد نتائج استدعاءات الأدوات. أولًا، تأكَّد من تشغيل ollama على نظامك:
إذا كان Ollama قيد التشغيل، فسيُرجع هذا:
الآن اطلب من المستخدم إدخال بيانات. يمكنك أيضًا تثبيت الإدخال بشكل صريح في الكود أو استرجاعه من واجهة محادثة، وذلك حسب كيفية تهيئتك للتطبيق. ستنتظر دالة
على سبيل المثال، إذا أدخل المستخدم "معلومات عن الكلاب"، فستقوم هذه الخلية بطباعة:
الآن، يتم تمرير استعلام المستخدم إلى ollama نفسه. تحتاج الرسائل إلى دور للمستخدم والمحتوى الذي يقوم المستخدم بإدخاله. يتم تمرير هذا إلى ollama باستخدام دالة
ستُنشئ الدالة
الآن بعد أن أنشأ النموذج استدعاءات الأدوات ضمن المخرجات، قم بتشغيل جميع استدعاءات الأدوات بالمَعلمات التي أنشأها النموذج وتحقَّق من المخرجات. في هذا التطبيق، يتم استخدام Granite 3.2 Dense أيضًا لتوليد المخرجات النهائية، وبالتالي تتم إضافة نتائج استدعاءات الأداة إلى الإدخال الأوَّلي للمستخدم ثم تمريرها إلى النموذج.
قد تُرجع عدة استدعاءات أدوات متعددة ملفات متطابقة؛ لذا يتم تجميع الاستجابات في مصفوفة يتم تمريرها بعد ذلك إلى Granite 3.2 لتوليد استجابة. الموجِّه الذي يسبق البيانات يوجِّه النموذج بشأن كيفية الاستجابة.
يتم بعد ذلك إنشاء المخرجات النهائية باستخدام أسماء الملفات التي تم إرجاعها أو
باستخدام الملفات المقدَّمة لهذا البرنامج التعليمي، سيُعيد الموجِّه "معلومات عن الكلاب" ما يلي:
يمكنك أن ترى أن Granite 3.2 اختار الكلمة الرئيسية الصحيحة من الإدخال، وهي "الكلاب"، وبحث في الملفات داخل المجلد ليجد الكلمة الرئيسية في ملف PDF. ونظرًا لأن نتائج النماذج اللغوية الكبيرة ليست حتمية بالكامل، فقد تحصل على نتائج مختلفة قليلًا مع نفس الموجِّه أو مع موجِّهات متشابهة جدًا.
يمكنك إنشاء مساعدين ووكلاء ذكاء اصطناعي ووكلاء أقوياء يعملون على أتمتة مهام سير العمل والعمليات باستخدام الذكاء الاصطناعي التوليدي ونشرها وإدارتها.
يمكنك بناء مستقبل عملك باستخدام حلول الذكاء الاصطناعي الجديرة بالثقة.
تساعد خدمات IBM Consulting AI في إعادة تصور طريقة عمل الشركات باستخدام حلول الذكاء الاصطناعي من أجل النهوض بأعمالها.