أدوات التحميل والتقسيم ومخازن المتجهات
استخدم DocumentLoaders لملفات PDF وHTML، وTextSplitters لتقسيم النص، وVectorStores للاسترجاع.
أدوات التحميل والتقسيم ومخازن المتجهات درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
الركائز الثلاث لـ RAG في LangChain
- محمّلات المستندات — تقرأ البيانات الخام وتحولها إلى Documents
- مقسّمات النصوص — تقسم Documents إلى أجزاء
- مخازن المتجهات — تنشئ تضمينات للأجزاء وتفهرسها
محمّلات المستندات
تضم LangChain أكثر من 100 محمّل. ومن أمثلتها:
from langchain_community.document_loaders import PyPDFLoader, WebBaseLoader, TextLoader
pdf_docs = PyPDFLoader('handbook.pdf').load()
web_docs = WebBaseLoader('https://example.com').load()
md_docs = TextLoader('README.md').load()كائن المستند
يعيد كل محمّل قائمة من Documents:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}المحمّلات الشائعة
- PyPDFLoader وUnstructuredFileLoader — ملفات PDF
- WebBaseLoader وSitemapLoader — صفحات الويب
- NotionLoader وGoogleDriveLoader — خدمات SaaS
- GitLoader — مستودعات الشيفرة
- SQLDatabaseLoader — صفوف قواعد البيانات
مقسّمات النصوص
حوّل Documents إلى أجزاء أصغر:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)المقسّمات المتخصصة
- MarkdownHeaderTextSplitter — يقسم النص حسب العناوين
- RecursiveCharacterTextSplitter — يراعي الفقرات والجمل
- HTMLHeaderTextSplitter — يراعي بنية HTML
- مقسّمات خاصة بكل لغة، مثل Python وMarkdown وLaTeX
التقسيم المراعي للرموز
استخدموا محلّل الرموز الخاص بالنموذج لإجراء تقسيم دقيق على مستوى الرموز:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)مخازن المتجهات
أنشئوا تضمينات للأجزاء وخزّنوها:
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
embeddings = OpenAIEmbeddings(model='text-embedding-3-small')
store = Chroma.from_documents(
documents=chunks,
embedding=embeddings,
persist_directory='./db'
)Retrieval
retriever = store.as_retriever(search_kwargs={'k': 4})
results = retriever.invoke('What is our return policy?')
for d in results:
print(d.page_content[:200])الاستمرارية
يحفظ Chroma البيانات على القرص إذا مررتم إليه persist_directory. ولإعادة التحميل:
store = Chroma(persist_directory='./db', embedding_function=embeddings)مخازن متجهات أخرى
الواجهة نفسها، لكن الواجهة الخلفية مختلفة:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
فهرسوا الأجزاء الصغيرة، لكن استرجعوا المستندات الأصلية الكبيرة:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.مسترجعات الاستعلام الذاتي
دعوا LLM ينشئ مرشحات البيانات الوصفية من اللغة الطبيعية:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}مخرجات المسترجع
ما الذي يعيده مسترجع LangChain؟
مراجعة
المحمّلات + المقسّمات + مخازن المتجهات = منظومة RAG كاملة. التالي: تركيبها باستخدام LCEL لإنشاء سلسلة متكاملة.
الأسئلة الشائعة
هل درس «أدوات التحميل والتقسيم ومخازن المتجهات» مجاني؟
نعم — نص درس «أدوات التحميل والتقسيم ومخازن المتجهات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «أدوات التحميل والتقسيم ومخازن المتجهات»؟
استخدم DocumentLoaders لملفات PDF وHTML، وTextSplitters لتقسيم النص، وVectorStores للاسترجاع. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «أدوات التحميل والتقسيم ومخازن المتجهات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- بنية LangChain: النماذج والمطالبات والسلاسل
- أدوات التحميل والتقسيم ومخازن المتجهات
- LCEL (لغة تعبيرات LangChain)
- بناء سلسلة RAG من البداية إلى النهاية