وكيل ذكاء الويب المتقدم باستخدام تافيلي و جيميني من جوجل
هذا المقال يقدم شرحًا تفصيليًا لإنشاء وكيل ذكاء ويب متفاعل ومتقدم، مدعومًا بمنصتي تافيلي (Tavily) و جيميني (Gemini) للذكاء الاصطناعي من جوجل. سنتعلم كيفية تكوين واستخدام هذا الوكيل الذكي لاستخراج المحتوى المنظم من صفحات الويب بسلاسة، وإجراء تحليلات متقدمة مدعومة بالذكاء الاصطناعي، وعرض نتائج ثاقبة. يتميز هذا البرنامج بواجهة مستخدم سهلة وبديهية، ومعالجة متينة للأخطاء، وواجهة طرفية جذابة بصريًا، مما يوفر بيئة سهلة الاستخدام وقوية لاستكشاف استخراج محتوى الويب وتحليل المحتوى القائم على الذكاء الاصطناعي.
1. إعداد المكتبات الأساسية
نقوم أولًا باستيراد وتكوين المكتبات الأساسية اللازمة للتعامل مع هياكل البيانات، والبرمجة غير المتزامنة، والتعليقات التوضيحية للأنواع، بالإضافة إلى مكتبة rich
التي تُمكّن من إنشاء مخرجات طرفية جذابة بصريًا. تعمل هذه الوحدات مجتمعة على تسهيل التنفيذ الفعال والمنظم والتفاعلي لمهام ذكاء الويب ضمن البرنامج.
import os
import json
import asyncio
from typing import List, Dict, Any
from dataclasses import dataclass
from rich.console import Console
from rich.progress import track
from rich.panel import Panel
from rich.markdown import Markdown
2. تهيئة مكونات LangChain
نقوم بتهيئة مكونات LangChain الأساسية:
TavilyExtract
: تُمكّن من استرجاع محتوى الويب المتقدم.init_chat_model
: تُهيئ نموذج الدردشة المدعوم بذكاء جيميني من جوجل.create_react_agent
: يبني وكيلًا ديناميكيًا قائمًا على المنطق، قادرًا على اتخاذ قرارات ذكية أثناء مهام تحليل الويب.
تُشكل هذه الأدوات معًا المحرك الأساسي لسير العمل المتطور لذكاء الويب القائم على الذكاء الاصطناعي.
from langchain_tavily import TavilyExtract
from langchain.chat_models import init_chat_model
from langgraph.prebuilt import create_react_agent
3. فئة تكوين وكيل ذكاء الويب (WebIntelligence
)
تُستخدم فئة WebIntelligence
كحاوية منظمة للإعدادات، حيث تحتوي على مفاتيح API الخاصة بتافيلي وجيميني من جوجل، بالإضافة إلى ضبط معلمات الاستخراج مثل extract_depth
والحد الأقصى لعدد عناوين URL (max_urls
). يسهّل هذا إدارة الوصول إلى الإعدادات المهمة، ويضمن التكامل والتخصيص السلس لمهام استخراج محتوى الويب ضمن وكيل الذكاء.
@dataclass
class WebIntelligence:
"""Web Intelligence Configuration"""
tavily_key: str = os.getenv("TAVILY_API_KEY", "")
google_key: str = os.getenv("GOOGLE_API_KEY", "")
extract_depth: str = "advanced"
max_urls: int = 10
4. فئة وكيل الويب الذكي (SmartWebAgent
)
تُغلف فئة SmartWebAgent
نظام استخراج وتحليل محتوى الويب الذكي، باستخدام واجهات برمجة التطبيقات من تافيلي وجيميني من جوجل. تقوم بإعداد الأدوات الأساسية بشكل تفاعلي، وتتعامل مع مفاتيح API بأمان، وتستخرج البيانات المنظمة من عناوين URL المُقدمة، وتستفيد من وكيل مدعوم بالذكاء الاصطناعي لإجراء تحليلات محتوى ثاقبة. كما تستخدم مخرجات بصرية غنية لنقل النتائج، مما يعزز إمكانية القراءة وتجربة المستخدم أثناء المهام التفاعلية.
class SmartWebAgent:
# ... (كود الفئة هنا كما هو في النص الأصلي) ...
5. وظيفة تشغيل المهام غير المتزامنة بأمان (run_async_safely
)
تضمن وظيفة run_async_safely
تنفيذ الوظائف غير المتزامنة بشكل موثوق عبر بيئات بايثون المختلفة، مثل البرامج النصية القياسية ودفاتر الملاحظات التفاعلية. تحاول تكييف حلقات الأحداث الموجودة بمساعدة nest_asyncio
؛ وإذا لم تتوفر، فإنها تتعامل مع السيناريو بلطف، وتُبلغ المستخدم، وتُعيد بشكل افتراضي إلى التنفيذ المتزامن كحل بديل.
def run_async_safely(coro):
# ... (كود الوظيفة هنا كما هو في النص الأصلي) ...
6. الوظيفة الرئيسية (main
)
توفر الوظيفة الرئيسية عرضًا تفاعليًا من خلال سطر الأوامر لوكيل ذكاء الويب الذكي. تُقدم للمستخدمين قائمة بديهية تسمح لهم باستخراج محتوى الويب من عناوين URL مخصصة، وإجراء تحليلات متقدمة مدعومة بالذكاء الاصطناعي حول مواضيع محددة، أو استكشاف عروض توضيحية محددة مسبقًا تتضمن الذكاء الاصطناعي، وتعلّم الآلة، والحوسبة الكمومية. يعزز التنسيق المرئي الغني تفاعل المستخدم، مما يجعل مهام تحليل الويب المعقدة سهلة وبسيطة.
def main():
# ... (كود الوظيفة هنا كما هو في النص الأصلي) ...
7. الخاتمة
بمتابعة هذا البرنامج التعليمي الشامل، قمنا ببناء وكيل ذكاء ويب مُحسّن من تافيلي قادر على استخراج محتوى الويب المتقدم وتحليله باستخدام جيميني من جوجل. من خلال استخراج البيانات المنظمة، واستعلامات الذكاء الاصطناعي الديناميكية، والنتائج المرئية الجذابة، يُسهّل هذا الوكيل القوي مهام البحث، ويُثري سير عمل تحليلات البيانات، ويعزز الرؤى الأعمق من محتوى الويب. بناءً على هذه الأساسيات، أصبحنا الآن مُجهزين لتوسيع هذا الوكيل، وتخصيصه لحالات استخدام محددة، واستخدام القوة المُجمعة للذكاء الاصطناعي وذكاء الويب لتعزيز الإنتاجية وصنع القرار في مشاريعنا.
اترك تعليقاً