أسرع أداة زحف بلغة بايثون لتقنية RAG؟ (Crawl4AI)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업구직/면접AI/미래기술

Transcript

00:00:00عندما تحتاج إلى أداة كشط لتقنية RAG، فالمشكلة ليست في الحصول على البيانات،
00:00:03بل في تنظيفها.
00:00:04فلغة جافا سكريبت تعطل الأمور، وHTML فوضوي،
00:00:07ونحن نضيع الوقت في محاولة جعلها قابلة للاستخدام في النماذج اللغوية الكبيرة.
00:00:11الحل لهذه المشكلة هو CrawlForAI.
00:00:13لقد صُمم خصيصاً للذكاء الاصطناعي، ويدعم العمليات غير المتزامنة،
00:00:15ويتعامل مع جافا سكريبت، ويخرج البيانات بتنسيق markdown أو JSON نظيف،
00:00:18كما أنه أسرع بست مرات من أدوات الكشط التقليدية في بايثون مثل Scrapy.
00:00:23فنحن نحصل على بيانات جاهزة للنماذج بسرعة لم أرَ لها مثيلاً من قبل.
00:00:26كيف يعمل هذا؟ وما الذي يميزه؟
00:00:29هذه هي الأسئلة المطروحة.
00:00:30[موسيقى]
00:00:35إذاً، ما هو CrawlForAI فعلياً؟
00:00:37في البداية، قد يبدو مجرد أداة زحف أخرى بلغة بايثون،
00:00:40لكنه لم يُصمم لمجرد الكشط، بل صُمم لأجل الذاء الاصطناعي.
00:00:43إليك الفرق.
00:00:44معظم أدوات الزحف تعطينا كود HTML خام،
00:00:46أما CrawlForAI فيعطينا markdown نظيفاً أو JSON منظماً جاهزاً للنموذج اللغوي.
00:00:52إنه يتعامل مع جافا سكريبت باستخدام Playwright،
00:00:54ويعمل بشكل غير متزامن مما يجعله قابلاً للتوسع فعلياً،
00:00:57ويحتوي على وضع الجلب المسبق الذي يتخطى المعالجة الثقيلة عندما تحتاج فقط للروابط.
00:01:01هذا الأمر مهم لأننا إذا كنا نبني روبوتات محادثة،
00:01:04أو مساعدين، أو وكلاء ذكاء اصطناعي، فمشكلتنا ليست في الزحف،
00:01:08بل في تحويل بيانات صفحات الويب الفوضوية إلى بيانات قابلة للاستخدام.
00:01:11أداة CrawlForAI تحل هذه المشكلة تماماً وبسرعة.
00:01:15إذا كنت تستمتع بهذا النوع من المحتوى، فتأكد من الاشتراك.
00:01:18لدينا فيديوهات جديدة تصدر باستمرار.
00:01:20لنبدأ بشيء بسيط. إليكم أبسط عملية زحف قمت بتشغيلها.
00:01:23لقد حصلت على معظم هذا من مستودعهم ووثائقهم،
00:01:25وقمت فقط بتعديل بضعة أسطر لتشغيله.
00:01:28استوردت AsyncWebCrawler الذي يعالج طلبات الويب غير المتزامنة لخطوط إنتاج الذكاء الاصطناعي.
00:01:34ثم قمت بطلب تشغيل على رابط أخبار تقنية، وهذا كل شيء.
00:01:38الآن انظروا إلى النتيجة.
00:01:40هذا ليس كود HTML خام ما حصلنا عليه،
00:01:43بل هو markdown نظيف وJSON نظيف.
00:01:45العناوين منظمة، والروابط محفوظة،
00:01:47وفي الخلفية، يقوم بجلب الصفحة،
00:01:50وتحليل الـ DOM، وإزالة الضجيج،
00:01:52ويصنف المحتوى لنحتفظ بالأجزاء المهمة دون كل تلك المصطلحات الزائدة.
00:01:57الآن، إذا كنا بحاجة لبناء ملخص أخبار في هذه الحالة أو نموذج أولي لـ RAG،
00:02:02فنحن لا نكتب سكربتات تنظيف،
00:02:04بل نمرر هذه البيانات مباشرة إلى نموذجك.
00:02:07كنا نتوقع كشطاً عادياً مثل أي أداة أخرى، أو على الأقل هذا ما توقعته،
00:02:11لكن ما حصلنا عليه فعلياً هو بيانات مجهزة مسبقاً لنا.
00:02:14هذه الفجوة هي توفير في الوقت.
00:02:17الآن، الأمور تصبح أكثر إثارة من هنا.
00:02:19بينما كنت أجربه،
00:02:20قد تعتقد أن معالجة كل صفحة أمر ضروري.
00:02:23لكن الواقع غير ذلك. شاهدوا هذا.
00:02:25هذه نفس أداة الزحف،
00:02:27لكننا الآن نفعل خيار الجلب المسبق (prefetch).
00:02:30سأقوم بالدخول على موقع Hacker News.
00:02:31هل ترون سرعة التشغيل؟
00:02:33كانت السرعة مذهلة حقاً.
00:02:35بدلاً من معالجة كل صفحة،
00:02:37يقوم بجلب الروابط أولاً،
00:02:38بمجرد جلب غير متزامن.
00:02:39إذا كنت تبني مجمع بيانات، فهذا ممتاز.
00:02:42نجد أولاً ما نحتاجه،
00:02:44ثم يمكننا استخراجه لاحقاً.
00:02:45أنت لا تزحف لكل شيء،
00:02:47فقط ما تحتاجه.
00:02:48هذا الفرق يظهر أثره بوضوح عند التعامل مع
00:02:50مئات أو آلاف الروابط.
00:02:52الآن، دعونا نتحدث قليلاً عن جانب الإنتاج.
00:02:55سأقوم بتشغيل زحف عميق باستخدام استراتيجية BFS deep crawl.
00:02:58هذه نسختهم من نهج “البحث أولاً في العرض”.
00:03:01بعد ذلك، أحدد حالة الاستئناف هنا،
00:03:03وأضيف وظيفة استدعاء عند تغيير الحالة.
00:03:07سأبدأ الزحف،
00:03:08ثم سأقوم بإيقاف العملية قسرياً.
00:03:10الآن، معظم الأدوات عندما توقف عمليتها،
00:03:13تبدأ من الصفر مرة أخرى.
00:03:14لكن عندما أعيد تشغيل هذا، انظروا،
00:03:16نبدأ من جديد باستخدام حالة JSON المحفوظة،
00:03:19ويستمر بالضبط من حيث توقف دون فقدان أي شيء.
00:03:22لذا عند بناء قاعدة معرفية ضخمة لـ RAG،
00:03:24فإن تعطل البرنامج ليس مجرد أمر مزعج.
00:03:26عادة ما يكون مكلفاً جداً.
00:03:29لكن هنا، يكمل العمل ببساطة.
00:03:30الجزء الذي لا تستطيع معظم أدوات الكشط فعله هو الاستخراج الدلالي.
00:03:35إذا قمت بتعريف مخطط بيانات باستخدام Pydantic،
00:03:37مثل المسمى الوظيفي، والشركة، والراتب،
00:03:39سأقوم بكشط موقع Indeed.
00:03:40ثم أقوم بإعداد استراتيجية استخراج LLM الخاصة بهم
00:03:44مع التعليمات ومزود الخدمة.
00:03:46سأقوم بتشغيله على موقع Indeed،
00:03:48موقع قوائم الوظائف الشهير،
00:03:49وانظروا إلى هذه النتيجة.
00:03:51هذا جيد جداً في الحقيقة.
00:03:52JSON منظم مع حقول واضحة،
00:03:54وإليكم ما يحدث.
00:03:56يقوم CrawlForAI بتحويل الصفحة،
00:03:58كما قلت، إلى markdown أو JSON حسب اختيارك.
00:04:01ثم يرسلها إلى النموذج.
00:04:03ويقوم النموذج بتنظيمها بناءً على مخطط البيانات الخاص بك.
00:04:06إنه لا يكشط النصوص فحسب،
00:04:07بل يستخرج ما نريده بالضبط.
00:04:09النماذج اللغوية الآن يمكنها التعامل مع هذا.
00:04:11هذا مستوى مختلف تماماً من الإمكانيات لأدوات الذكاء الاصطناعي.
00:04:15كان هذا رائعاً،
00:04:16لكن دعونا ننظر للصورة الكاملة للحظة.
00:04:18المميزات هنا هي السرعة.
00:04:20إنه سريع جداً، يصل إلى 6 مرات أسرع في الاختبارات.
00:04:22يتعامل مع جافا سكريبت تلقائياً.
00:04:24إنه غير متزامن وقابل للتوسع،
00:04:26ويستأنف العمل بعد حالات التوقف.
00:04:28لكن النقطة الأبرز هنا،
00:04:29هي دمجه للنماذج اللغوية مباشرة.
00:04:32بالإضافة إلى أنه مفتوح المصدر.
00:04:33قمت فقط بتثبيته عبر pip وأصبح جاهزاً للعمل.
00:04:35وكأي شيء آخر،
00:04:36هناك بعض المقايضات هنا.
00:04:38إنه يعمل بلغة بايثون فقط، أليس كذلك؟
00:04:39قد تستخدم بايثون وقد لا تستخدمها.
00:04:41قد يكون هذا عائقاً للبعض.
00:04:42ميزات النماذج اللغوية تتطلب مفاتيح API ما لم تستخدم نماذج محلية مثل Ollama.
00:04:46عمليات الزحف قد تظل تواجه حدود معدل الطلبات،
00:04:49وكأي مشروع مفتوح مصدر يتطور بسرعة،
00:04:51عليك تحديثه باستمرار، صح؟
00:04:53يتم إصدار التحديثات بشكل مستمر.
00:04:54لكن بالنسبة للمطورين المهتمين بالذكاء الاصطناعي،
00:04:56فهو يزيل الكثير من العقبات، أليس كذلك؟
00:04:58خاصة في خطوط إنتاج RAG.
00:05:00الآن، دعونا نقارنه بما قد تستخدمه حالياً.
00:05:03أداة Scrapy، إذا كنت تستخدم بايثون.
00:05:05هي رائعة لعمليات الزحف الضخمة في المواقع الثابتة،
00:05:07لكنها تعتمد على القواعد وتتطلب الكثير من الأكواد الروتينية.
00:05:10بصراحة، إعدادها يستغرق وقتاً طويلاً.
00:05:13وإذا أردت استخراج البيانات عبر النماذج اللغوية بتنسيق markdown،
00:05:16فسيتعين عليك بناء طبقات مخصصة.
00:05:17مع CrawlForAI، هذا مدمج وجاهز.
00:05:19هناك أيضاً Beautiful Soup.
00:05:21وهي خفيفة جداً وبسيطة،
00:05:23لكنها في الحقيقة مجرد أداة تحليل نصوص.
00:05:25لا يوجد بها محرك زحف،
00:05:26ولا معالجة لجافا سكريبت.
00:05:28سينتهي بك الأمر بمحاولة تجميع أدوات كثيرة معاً.
00:05:31ثم بالطبع هناك الأداة الكبيرة Selenium.
00:05:33هي تعالج جافا سكريبت بالتأكيد، صح؟
00:05:36لكنها أبطأ وتتطلب تدخلاً يدوياً أكبر.
00:05:38توسيع سير العمل غير المتزامن سيظل أمراً متعباً.
00:05:42أما CrawlForAI فيحتوي على Playwright داخلياً
00:05:44ويقدم واجهة برمجة تطبيقات (API) واضحة وغير متزامنة.
00:05:46إذا كنت تبني أدوات زحف تقليدية تعتمد على القواعد
00:05:48للبيانات الثابتة،
00:05:49فأدواتك الحالية ستكون كافية جداً بصراحة.
00:05:52لكن إذا كنت تبني أنظمة ذكاء اصطناعي،
00:05:54أو خطوط إنتاج RAG، أو وكلاء مستقلين،
00:05:56فإن CrawlForAI صُمم خصيصاً لهذا النوع من العالم،
00:06:00وهو حقاً أداة ذكاء اصطناعي رائعة.
00:06:02إنه لا يزحف للصفحات فحسب، بل يجهز البيانات،
00:06:04ويعد ما يحتاجه النموذج اللغوي بالضبط.
00:06:06هذا هو CrawlForAI.
00:06:08إذا كنت مهتماً بالذكاء الاصطناعي، فالأمر يستحق التجربة.
00:06:11لقد كان سريعاً جداً، وقد صدمتني سرعته في الواقع.
00:06:14وهو رائع جداً
00:06:15إذا كنا نبني خطوط إنتاج من نوع RAG،
00:06:17حيث يمكننا إرسال البيانات بشكل نظيف لنماذجنا اللغوية.
00:06:20نراكم في فيديو آخر.

Key Takeaway

تعد Crawl4AI أداة زحف ثورية مصممة خصيصاً لعصر الذكاء الاصطناعي، حيث تتجاوز مجرد جمع البيانات لتوفير محتوى منظم ونظيف وجاهز للاندماج الفوري في نماذج اللغة الضخمة وسلاسل RAG.

Highlights

تعتبر أداة Crawl4AI أسرع بـ 6 مرات من أدوات الكشط التقليدية مثل Scrapy بفضل دعمها للعمليات غير المتزامنة.

تتميز الأداة بقدرتها على تحويل كود HTML الفوضوي إلى تنسيقات Markdown أو JSON نظيفة جاهزة للنماذج اللغوية (LLMs).

يدعم المحرك تقنيات متقدمة مثل الجلب المسبق (Prefetching) والزحف العميق (BFS Deep Crawl) مع خاصية استئناف العمل عند التوقف.

تتيح الأداة الاستخراج الدلالي للبيانات باستخدام مخططات Pydantic، مما يسمح باستخلاص معلومات محددة بدقة عالية.

تعد الخيار الأمثل لبناء خطوط إنتاج تقنية توليد الإجابات بالاسترجاع (RAG) والوكلاء المستقلين للذكاء الاصطناعي.

الأداة مفتوحة المصدر وسهلة التثبيت عبر مكتبة بايثون، وتدعم التعامل مع جافا سكريبت عبر Playwright.

Timeline

مقدمة وتحديد مشكلة كشط البيانات للذكاء الاصطناعي

يبدأ المتحدث بتوضيح أن التحدي الحقيقي في تقنية RAG ليس في الحصول على البيانات، بل في تنظيفها من فوضى HTML وجافا سكريبت. يشير الفيديو إلى أن المطورين يضيعون وقتاً طويلاً في جعل البيانات قابلة للاستخدام، وهنا يبرز دور Crawl4AI كحل مثالي. تم تصميم هذه الأداة خصيصاً للذكاء الاصطناعي، وهي تدعم العمليات غير المتزامنة وتخرج البيانات بتنسيق Markdown أو JSON. يذكر المتحدث أن هذه الأداة أسرع بـ 6 مرات من Scrapy، مما يوفر سرعة غير مسبوقة في تجهيز البيانات للنماذج. تعتبر هذه المقدمة ضرورية لفهم الفجوة التي تسدها الأداة في سوق أدوات البرمجة الحالية.

تعريف Crawl4AI والمميزات التقنية الأساسية

يشرح المتحدث أن Crawl4AI ليست مجرد أداة زحف تقليدية بل محرك متكامل مهيأ للذكاء الاصطناعي. تكمن القوة الأساسية في قدرتها على تقديم مخرجات منظمة مباشرة بدلاً من كود HTML الخام الذي يتطلب معالجة لاحقة. تعتمد الأداة على Playwright للتعامل مع المواقع التي تستخدم جافا سكريبت بكثافة، وتدعم التوسع عبر العمل غير المتزامن. يبرز الفيديو أهمية وضع 'الجلب المسبق' الذي يسمح بالحصول على الروابط بسرعة دون معالجة المحتوى بالكامل. يختم هذا القسم بالتأكيد على أن الهدف هو تحويل الويب الفوضوي إلى بيانات نظيفة لبناء روبوتات المحادثة والوكلاء الأذكياء.

تطبيق عملي: الزحف البسيط وتحليل النتائج

يستعرض الفيديو تجربة عملية لاستخدام AsyncWebCrawler على رابط أخبار تقنية مع بضعة أسطر من البرمجية فقط. تظهر النتائج مذهلة حيث يتم الحصول على Markdown وJSON نظيفين مع الحفاظ على العناوين والروابط بشكل منظم. تقوم الأداة في الخلفية بتحليل الـ DOM وإزالة الضجيج وتصنيف المحتوى لاستبعاد المصطلحات غير الضرورية. يوضح المتحدث أن هذا يلغي الحاجة لكتابة سكربتات تنظيف مخصصة، مما يسرع بناء النماذج الأولية لتقنية RAG. هذه العملية توفر وقتاً هائلاً كان يقضيه المطورون في هندسة البيانات يدوياً.

ميزات متقدمة: الجلب المسبق والزحف العميق القابل للاستئناف

ينتقل المتحدث لشرح خيار الجلب المسبق (Prefetch) الذي يسرع العملية بشكل مذهل عند التعامل مع مواقع مثل Hacker News. يتم أيضاً شرح استراتيجية الزحف العميق (BFS Deep Crawl) التي تتبع نهج 'البحث أولاً في العرض' للوصول لبيانات أكثر شمولاً. من أبرز الميزات المعروضة هي القدرة على استئناف الزحف من حيث توقف باستخدام حالة JSON المحفوظة في حال تعطل البرنامج. يعتبر هذا الأمر حيوياً عند بناء قواعد معرفية ضخمة، حيث أن فقدان التقدم قد يكون مكلفاً جداً. تضمن هذه الميزات استمرارية العمل وكفاءة استهلاك الموارد في بيئات الإنتاج.

الاستخراج الدلالي والاندماج مع النماذج اللغوية (LLM)

يسلط هذا الجزء الضوء على قدرة الأداة الفريدة في الاستخراج الدلالي للبيانات باستخدام مكتبة Pydantic. يتم عرض مثال لكشط موقع Indeed لاستخراج المسمى الوظيفي والشركة والراتب بتنسيق JSON دقيق ومنظم. تقوم الأداة بإرسال البيانات المنظفة إلى النموذج اللغوي الذي يقوم بدوره بتنظيمها بناءً على المخطط المحدد مسبقاً. لا يقتصر الأمر على كشط النصوص بل يتعداه لفهم المحتوى واستخلاص ما هو مطلوب بالضبط. يمثل هذا التطور مستوى جديداً من الإمكانيات التي تسهل عمل مطوري أدوات الذكاء الاصطناعي.

المقارنة مع الأدوات التقليدية والمقايضات

في الختام، يقارن المتحدث Crawl4AI بأدوات مشهورة مثل Scrapy وBeautiful Soup وSelenium. بينما تتفوق الأدوات القديمة في حالات معينة، إلا أن Crawl4AI تتفوق في سرعة التكامل مع الذكاء الاصطناعي ومعالجة جافا سكريبت تلقائياً. يشير الفيديو بصدق إلى بعض العوائق مثل اقتصارها حالياً على لغة بايثون والحاجة لمفاتيح API للنماذج اللغوية. ومع ذلك، يرى المتحدث أنها الأداة الأفضل لمن يبني أنظمة RAG أو وكلاء مستقلين نظراً لطبيعتها مفتوحة المصدر وسهولة استخدامها. ينتهي الفيديو بتوصية قوية لتجربة الأداة لكل مهتم بتطوير تقنيات الذكاء الاصطناعي.

Community Posts

View all posts