أداة استخراج Tavily
تتيح أداة TavilyExtractorTool لوكلاء CrewAI استخراج محتوى منظم من صفحات الويب باستخدام Tavily API. يمكنها معالجة عناوين URL مفردة أو قوائم من عناوين URL وتوفر خيارات للتحكم في عمق الاستخراج وتضمين الصور.
التثبيت
Section titled “التثبيت”لاستخدام TavilyExtractorTool، تحتاج إلى تثبيت مكتبة tavily-python:
uv add 'crewai[tools]' tavily-pythonتحتاج أيضاً إلى تعيين مفتاح Tavily API كمتغير بيئة:
export TAVILY_API_KEY='your-tavily-api-key'مثال على الاستخدام
Section titled “مثال على الاستخدام”إليك كيفية تهيئة واستخدام TavilyExtractorTool مع وكيل CrewAI:
import osfrom crewai import Agent, Task, Crewfrom crewai_tools import TavilyExtractorTool
# Ensure TAVILY_API_KEY is set in your environment# os.environ["TAVILY_API_KEY"] = "YOUR_API_KEY"
# Initialize the tooltavily_tool = TavilyExtractorTool()
# Create an agent that uses the toolextractor_agent = Agent( role='Web Content Extractor', goal='Extract key information from specified web pages', backstory='You are an expert at extracting relevant content from websites using the Tavily API.', tools=[tavily_tool], verbose=True)
# Define a task for the agentextract_task = Task( description='Extract the main content from the URL https://example.com using basic extraction depth.', expected_output='A JSON string containing the extracted content from the URL.', agent=extractor_agent)
# Create and run the crewcrew = Crew( agents=[extractor_agent], tasks=[extract_task], verbose=2)
result = crew.kickoff()print(result)خيارات التكوين
Section titled “خيارات التكوين”تقبل أداة TavilyExtractorTool المعاملات التالية:
urls(Union[List[str], str]): مطلوب. سلسلة URL واحدة أو قائمة من سلاسل URL لاستخراج البيانات منها.include_images(Optional[bool]): ما إذا كان يجب تضمين الصور في نتائج الاستخراج. الافتراضي هوFalse.extract_depth(Literal[“basic”, “advanced”]): عمق الاستخراج. استخدم"basic"للاستخراج السريع السطحي أو"advanced"للاستخراج الأكثر شمولاً. الافتراضي هو"basic".timeout(int): الحد الأقصى للوقت بالثواني لانتظار إكمال طلب الاستخراج. الافتراضي هو60.
الاستخدام المتقدم
Section titled “الاستخدام المتقدم”عناوين URL متعددة مع استخراج متقدم
Section titled “عناوين URL متعددة مع استخراج متقدم”# Example with multiple URLs and advanced extractionmulti_extract_task = Task( description='Extract content from https://example.com and https://anotherexample.org using advanced extraction.', expected_output='A JSON string containing the extracted content from both URLs.', agent=extractor_agent)
# Configure the tool with custom parameterscustom_extractor = TavilyExtractorTool( extract_depth='advanced', include_images=True, timeout=120)
agent_with_custom_tool = Agent( role="Advanced Content Extractor", goal="Extract comprehensive content with images", tools=[custom_extractor])معاملات الأداة
Section titled “معاملات الأداة”يمكنك تخصيص سلوك الأداة عن طريق تعيين المعاملات أثناء التهيئة:
# Initialize with custom configurationextractor_tool = TavilyExtractorTool( extract_depth='advanced', # More comprehensive extraction include_images=True, # Include image results timeout=90 # Custom timeout)الميزات
Section titled “الميزات”- عنوان URL واحد أو متعدد: استخراج المحتوى من عنوان URL واحد أو معالجة عناوين URL متعددة في طلب واحد
- عمق قابل للتكوين: الاختيار بين أوضاع الاستخراج الأساسي (السريع) والمتقدم (الشامل)
- دعم الصور: تضمين الصور اختيارياً في نتائج الاستخراج
- مخرجات منظمة: إرجاع JSON منسّق يحتوي على المحتوى المستخرج
- معالجة الأخطاء: معالجة قوية لمهلات الشبكة وأخطاء الاستخراج
تنسيق الاستجابة
Section titled “تنسيق الاستجابة”تُرجع الأداة سلسلة JSON تمثل البيانات المنظمة المستخرجة من عنوان (عناوين) URL المقدمة. يعتمد الهيكل الدقيق على محتوى الصفحات و extract_depth المستخدم.
تشمل عناصر الاستجابة الشائعة:
- Title: عنوان الصفحة
- Content: المحتوى النصي الرئيسي للصفحة
- Images: عناوين URL للصور والبيانات الوصفية (عند
include_images=True) - Metadata: معلومات إضافية عن الصفحة مثل المؤلف والوصف وغيرها
حالات الاستخدام
Section titled “حالات الاستخدام”- تحليل المحتوى: استخراج وتحليل المحتوى من مواقع المنافسين
- البحث: جمع بيانات منظمة من مصادر متعددة للتحليل
- ترحيل المحتوى: استخراج المحتوى من المواقع الحالية للترحيل
- المراقبة: الاستخراج المنتظم للمحتوى لاكتشاف التغييرات
- جمع البيانات: الاستخراج المنهجي للمعلومات من مصادر الويب
راجع توثيق Tavily API للحصول على معلومات مفصلة حول هيكل الاستجابة والخيارات المتاحة.