1️⃣ Fixed-size: تقطيع بعدد ثابت من الحروف (سريع، بس بيكسر السياق).
2️⃣ Recursive: تقطيع هرمي بيعتمد على الفواصل وفقرات النص للحفاظ على المعنى.
3️⃣ Semantic: الأذكى؛ بيعتمد على الـ Embeddings وتشابه المعنى للفكرة الكاملة.
بتعتمدوا على إيه أكتر في مشاريعكم؟ 🚀
تطب��ق عملي: إزاي تقرأ ملف PDF وتستخرج منه الداتا باستخدام LangChain؟
في الفيديو دا بنشرح بالأكواد:
1️⃣ استدعاء الـ PDFLoader من LangChain.
2️⃣ تحميل الملف وتفكيكه لـ Documents.
3️⃣ فحص الـ pageContent والـ metadata لمعرفة رقم الصفحة والمصدر بدقة!
Document Loader وظيفتها الأساسية تحويل أي ملف لـ Document Object موحد مقسم لجزأين:
1️⃣ pageContent: النص الصافي المستخرج.
2️⃣ metadata: مسار الملف ورقم الصفحة عشان توثيق المصدر ومنع الهلوسة! 🎯
الفيديو الجاي هنتكلم عن تقطيع النصوص (Chunking).. شاركوني تجاربكم! 🚀
بدلاً من الاعتماد على معلومات الموديل العامة فقط، بنبحث الأول في قاعدة بياناتنا (Retrieval)، وناخد النص المطابق لسؤالك مع البرومبت ونبعته للـ LLM، عشان يجاوبك بدقة ومن مصدر موثوق وبدون هلوسة.
بتطبقوا الـ RAG حالياً في مشاريعكم؟ ومهتمين نشرح اي الفيديو الجاي؟
عمرك سألت ChatGPT سؤال ولقيته بيهلوس وبيديك إجابة غلط؟ 😅
الحل الجذري للمشكلة دي هو مفهوم الـ RAG (Retrieval-Augmented Generation).
شرح سريع ومبسط لدورة حياة الـ RAG: من مرحلة الـ Indexing، للـ Retrieval، وصولاً للـ Generation 🚀
#GenerativeAI#AI#RAG#MachineLearning