بناء خط أنابيب بحث ومحتوى متعدد الوكلاء باستخدام CrewAI و Gemini
هذا البرنامج التعليمي يوضح كيفية إنشاء نظام وكلاء ذكاء اصطناعي شامل مدعوم بـ CrewAI ونماذج Gemini من جوجل. سنبدأ بتثبيت جميع الحزم المطلوبة، وتكوين مفتاح Gemini بأمان، ثم بناء مجموعة من الوكلاء المتخصصين، بما في ذلك البحث، وتحليل البيانات، وإنشاء المحتوى، وضمان الجودة، كل منها مُحسّن للتعاون السريع والمتسلسل. باستخدام فئات المنفعة الواضحة والأوامر التفاعلية، سنُسهّل كل شيء من التحليلات السريعة لمرة واحدة إلى مشاريع بحثية متعددة الوكلاء شاملة داخل الكمبيوتر المحمول.
تثبيت الحزم المطلوبة
سنبدأ بتثبيت CrewAI، ومكتبات عملاء Gemini، ومساعدين آخرين تلقائيًا، لضمان جاهزية كل التبعيات داخل بيئة تشغيل Colab. أثناء تشغيل الحلقة، سنرى تثبيت كل حزمة بهدوء والتحقق من نجاحها قبل المتابعة.
import subprocess
import sys
import os
def install_packages():
"""تثبيت الحزم المطلوبة في Colab"""
packages = [
"crewai",
"crewai-tools",
"google-generativeai",
"python-dotenv",
"langchain-google-genai"
]
for package in packages:
try:
print(f"جاري تثبيت {package}...")
subprocess.check_call([sys.executable, "-m", "pip", "install", package, "-q"])
print(f"تم تثبيت {package} بنجاح!")
except Exception as e:
print(f"فشل تثبيت {package}: {e}")
print("جاري إعداد بيئة Google Colab...")
install_packages()
print("تم تثبيت جميع الحزم!")
استيراد المكتبات وإعداد بيئة العمل
سنقوم بإلغاء تنشيط التحذيرات للحصول على سجل أنظف، واستيراد فئات CrewAI الأساسية وأغطية Gemini، وجلب وحدات المرافق مثل الوقت والوقت والتاريخ؛ هذا يوفر لنا جميع اللبنات الأساسية التي سنستخدمها طوال الكمبيوتر المحمول.
import warnings
warnings.filterwarnings('ignore')
from crewai import Agent, Task, Crew, Process
from crewai_tools import FileReadTool
from langchain_google_genai import ChatGoogleGenerativeAI
import google.generativeai as genai
from google.colab import userdata
import time
import json
from datetime import datetime
إعداد مفتاح واجهة برمجة التطبيقات (API) لـ Gemini
سنسترد مفتاح واجهة برمجة التطبيقات (API) الخاص بـ Gemini من أسرار Colab، أو إذا كان مفقودًا، فسنطلب من أنفسنا لصقه بأمان. تؤكد مكالمة اختبار سريعة على أن المفتاح يعمل، مما يضمن مصادقة نموذج اللغة الكبير (LLM) قبل بدء أي مهام حقيقية.
def setup_api_key():
"""إعداد مفتاح واجهة برمجة التطبيقات (API) لـ Gemini في Colab"""
try:
api_key = userdata.get('GEMINI_API_KEY')
print("تم تحميل مفتاح واجهة برمجة التطبيقات (API) من أسرار Colab!")
return api_key
except:
print("لم يتم العثور على مفتاح واجهة برمجة التطبيقات (API) لـ Gemini في أسرار Colab.")
print("يرجى اتباع هذه الخطوات:")
print("1. انتقل إلى https://makersuite.google.com/app/apikey")
print("2. أنشئ مفتاح واجهة برمجة تطبيقات (API) مجاني")
print("3. في Colab، انتقل إلى (أسرار) في الشريط الجانبي الأيسر")
print("4. أضف سرًا جديدًا باسم 'GEMINI_API_KEY' مع مفتاح واجهة برمجة التطبيقات (API) الخاص بك")
print("5. قم بتمكين وصول الكمبيوتر المحمول للسر")
print("6. أعد تشغيل هذه الخلية")
from getpass import getpass
api_key = getpass("أو أدخل مفتاح واجهة برمجة التطبيقات (API) الخاص بك هنا (سيتم إخفاؤه): ")
return api_key
GEMINI_API_KEY = setup_api_key()
إنشاء نظام وكلاء Gemini مُحسّن لـ Colab
نقوم بتصميم جوهر سير العمل: فئة ColabGeminiAgentSystem التي تربط Gemini بـ LangChain، وتُعرّف أداة قراءة ملفات، وتُنشئ أربعة وكلاء متخصصين، للبحث، والبيانات، والمحتوى، وضمان الجودة، كل منها جاهز للتعاون في المهام.
class ColabGeminiAgentSystem:
# ... (rest of the class code as provided in the original content) ...
تشغيل أمثلة سريعة
نوضح سير العمل باستخدام مشروعين سريعين: تحليل “سريع” لاتجاهات تعلم الآلة، وغوص أعمق في حلول الطاقة المستدامة، وطباعة كل نتيجة حتى نتمكن من رؤية الوكلاء في العمل على الفور.
def run_quick_examples():
# ... (code for running quick examples) ...
واجهة تفاعلية لنظام الوكلاء
نقوم بإنشاء حلقة صغيرة لسطر الأوامر تتيح لنا كتابة “بحث”، أو “سريع”، أو “تحليل” متبوعًا بموضوع لبدء مشاريع جديدة عند الطلب؛ هذا يحول الكمبيوتر المحمول إلى صندوق رمل تفاعلي دون الحاجة إلى ترميز إضافي.
def interactive_agent_system():
# ... (code for interactive agent system) ...
أدوات مساعدة لـ Colab
نضيف لمسات نهائية، ومساعدين لتنزيل النتائج، وملخصات Markdown جميلة، ودفع سجل JSON الخاص بنا إلى Google Drive، حتى نتمكن من مشاركة أو أرشفة النتائج بمكالمة واحدة.
class ColabUtils:
# ... (code for Colab utility functions) ...
تشغيل عرض توضيحي شامل
نقوم بكتابة عرض توضيحي يتنقل عبر ثلاثة مواضيع وأنواع مهام، وعرض مخرجات مُنسّقة بين فترات توقف قصيرة؛ هذا يثبت أن النظام يتوسع من الإيجازات السريعة إلى الدراسات الكاملة متعددة الوكلاء.
def run_demo():
# ... (code for running a comprehensive demo) ...
الخلاصة
لدينا الآن إطار عمل كامل التشغيل وقابل لإعادة الاستخدام يسمح لنا بإنشاء خطوط أنابيب بحث، وتوليد مخرجات مُحسّنة، وتخزين نتائجنا ببضع أوامر فقط. يمكننا الآن تشغيل اختبارات سريعة، أو عمليات غوص عميقة، أو جلسات تفاعلية حول أي موضوع، وتنزيل النتائج، وحتى تركيبها على Google Drive.





اترك تعليقاً