وكيل ذكاء اصطناعي متعدد الأدوات: بناء مساعد افتراضي قوي باستخدام نيبيوس ولاما 3
يقدم هذا البرنامج التعليمي طريقة متقدمة لبناء وكيل ذكاء اصطناعي متطور يستخدم النظام البيئي القوي لـ Nebius، وخاصةً مكونات ChatNebius و NebiusEmbeddings و NebiusRetriever. يستخدم الوكيل نموذج Llama-3.3-70B-Instruct-fast لإنشاء استجابات عالية الجودة، مع دمج وظائف خارجية مثل البحث في ويكيبيديا، واسترجاع المستندات حسب السياق، والحساب الرياضي الآمن. من خلال الجمع بين تصميم المُؤشرات المُهيكلة وإطار عمل LangChain النمطي، يُظهر هذا البرنامج التعليمي كيفية بناء مساعد ذكاء اصطناعي متعدد الوظائف وقادر على التفكير، وهو تفاعلي وقابل للتوسيع. سواءً للاستفسارات العلمية، أو الرؤى التكنولوجية، أو المهام العددية الأساسية، يُظهر هذا الوكيل إمكانات Nebius كمنصة لبناء أنظمة ذكاء اصطناعي متطورة.
1. الخطوات الأولية: التثبيت والاستيراد
نبدأ بتثبيت المكتبات الأساسية، بما في ذلك langchain-nebius
و langchain-core
و langchain-community
و ويكيبيديا، وهي ضرورية لبناء مساعد ذكاء اصطناعي غني بالمميزات. ثم نقوم باستيراد الوحدات اللازمة مثل os
و getpass
و datetime
و أدوات typing
، وتهيئة واجهة برمجة التطبيقات (API) لويكيبيديا للوصول إلى البيانات الخارجية.
pip install -q langchain-nebius langchain-core langchain-community wikipedia
import os
import getpass
from typing import List, Dict, Any
import wikipedia
from datetime import datetime
2. تهيئة مكونات Nebius و LangChain
نقوم باستيراد المكونات الأساسية من LangChain و Nebius لتمكين معالجة المستندات، وقوالب المُؤشرات، وتحليل الإخراج، وتكامل الأدوات. يقوم بتهيئة فئات أساسية مثل ChatNebius
لنمذجة اللغة، و NebiusEmbeddings
لتمثيل المتجهات، و NebiusRetriever
للبحث الدلالي. يتم الوصول إلى مفتاح API الخاص بـ Nebius الخاص بالمستخدم بأمان باستخدام getpass
للمصادقة على تفاعلات API اللاحقة.
from langchain_core.documents import Document
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
from langchain_core.tools import tool
from langchain_nebius import ChatNebius, NebiusEmbeddings, NebiusRetriever
if "NEBIUS_API_KEY" not in os.environ:
os.environ["NEBIUS_API_KEY"] = getpass.getpass("أدخل مفتاح API الخاص بك لـ Nebius: ")
3. تصميم وكيل Nebius المتقدم
يتم تغليف جوهر التنفيذ داخل فئة AdvancedNebiusAgent
، والتي تُنسق التفكير، والاسترجاع، وتكامل الأدوات. تقوم بتهيئة نموذج لغة كبير عالي الأداء من Nebius (meta-llama/Llama-3.3-70B-Instruct-fast
). تقوم بتهيئة مُستعيد دلالي يعتمد على المستندات المُضمنة، مُكونة قاعدة بيانات صغيرة تغطي مواضيع مثل الذكاء الاصطناعي، وحوسبة الكم، وسلسلة الكتل، وأكثر. يُوجه قالب مُؤشر ديناميكي استجابات الوكيل من خلال تضمين السياق المُسترد، ومخرجات الأدوات الخارجية، والتاريخ والوقت الحاليين.
class AdvancedNebiusAgent:
# ... (باقي تعريف الفئة كما هو في الكود الأصلي)
4. أدوات خارجية: ويكيبيديا والحساب
تعزز وظيفتان مدمجتان، wikipedia_search
و calculate
، وظائف الوكيل من خلال توفير الوصول إلى المعرفة الموسوعية الخارجية والحساب الحسابي الآمن، على التوالي.
@tool
def wikipedia_search(query: str) -> str:
# ... (تنفيذ الدالة كما هو في الكود الأصلي)
@tool
def calculate(expression: str) -> str:
# ... (تنفيذ الدالة كما هو في الكود الأصلي)
5. معالجة الاستفسارات وجلسة تفاعلية
تجمع طريقة process_query
كل شيء معًا، حيث تقوم باستدعاء سلسلة المؤشرات ديناميكيًا مع السياق، والأدوات، والتفكير لإنشاء إجابات مُفيدة ومتعددة المصادر. تتيح جلسة تفاعلية اختيارية إجراء محادثات في الوقت الفعلي مع الوكيل، مما يسمح بالتعرف على بادئات خاصة مثل wiki:
أو calc:
لتنشيط دعم الأدوات الخارجية.
def process_query(self, query: str, use_wikipedia: bool = False, calculate_expr: str = None) -> str:
# ... (تنفيذ الدالة كما هو في الكود الأصلي)
def interactive_session(self):
# ... (تنفيذ الدالة كما هو في الكود الأصلي)
6. تجربة عملية وعرض النتائج
نُظهر إمكانات الوكيل من خلال مجموعة من استفسارات العرض التوضيحي. يبدأ بإنشاء مثيل لـ AdvancedNebiusAgent
، متبوعًا بحلقة تُعالج المُؤشرات المُحددة مسبقًا المتعلقة بالذكاء الاصطناعي، وحوسبة الكم، وتغير المناخ، مُظهرة وظيفة الاسترجاع. ثم يقوم بإجراء استعلام مُعزز بويكيبيديا حول استكشاف الفضاء، باستخدام معلومات خارجية في الوقت الفعلي لإكمال قاعدة البيانات. أخيرًا، يقوم بتشغيل سيناريو رياضي يتضمن كفاءة الألواح الشمسية للتحقق من صحة أداة الحساب. تُوضح هذه العروض التوضيحية مجتمعة كيف يُمكن لـ Nebius، مُجتمعة مع LangChain ومُؤشرات مُهيكلة جيدًا، معالجة الاستعلامات الذكية متعددة الوسائط في مساعد حقيقي.
7. الخاتمة
يُجسد وكيل Nebius هذا كيفية الجمع الفعال بين التفكير المُدار بواسطة نموذج اللغة الكبير والاسترجاع المُهيكل واستخدام الأدوات الخارجية لبناء مساعد قادر وواعٍ للسياق. من خلال دمج LangChain مع واجهات برمجة تطبيقات Nebius، يصل الوكيل إلى قاعدة بيانات مُنسقة، ويسترد بيانات حية من ويكيبيديا، ويتعامل مع العمليات الحسابية مع عمليات فحص الأمان. يوفر تصميم البرنامج التعليمي النمطي، الذي يتميز بقوالب المُؤشرات، والربط الديناميكي، والمدخلات القابلة للتخصيص، مخططًا قويًا للمطورين الذين يسعون إلى إنشاء أنظمة ذكية تتجاوز استجابات نماذج اللغة الكبيرة الثابتة.
اترك تعليقاً