Vector Databases: Pinecone, Weaviate & pgvector · درس

تقسيم النص إلى أجزاء لتحسين Embeddings

تعلّم كيفية تقسيم المستندات إلى أجزاء مناسبة للـ Embeddings، ولماذا يهم حجم الجزء والتداخل، والاستراتيجيات التي تزيد جودة الاسترجاع إلى أقصى حد.

الدرس 4 من 413 خطوة

تقسيم النص إلى أجزاء لتحسين Embeddings درس مجاني في Vector Databases: Pinecone, Weaviate & pgvector على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Vector Databases: Pinecone, Weaviate & pgvector، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Vector Databases: Pinecone, Weaviate & pgvector 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Why Chunking Matters

Embedding models have a token limit and produce one vector per input. Feeding a whole document yields a vague, averaged vector. Chunking splits text into focused pieces so each vector captures a specific idea.

The Goldilocks Problem

Chunk size is a balance:

  • Too large — diluted meaning, mixed topics in one vector
  • Too small — fragments lose context, more vectors to store

Aim for chunks that hold one coherent thought.

Fixed-Size Chunking

The simplest method: split every N characters or tokens.

def chunk(text, size):
    return [text[i:i+size] for i in range(0, len(text), size)]

print(chunk('abcdefghij', 4))

The Overlap Trick

Fixed splits can cut a sentence in half, losing context at the boundary. Adding overlap repeats the last few tokens of one chunk at the start of the next so ideas spanning a boundary survive.

def chunk_overlap(text, size, overlap):
    out = []
    i = 0
    while i < len(text):
        out.append(text[i:i+size])
        i += size - overlap
    return out

print(chunk_overlap('abcdefghij', 4, 1))

Sentence-Aware Chunking

Better than blind character splits: break on sentence boundaries, then group sentences up to a target size. Chunks end cleanly and read coherently.

Recursive Chunking

Recursive splitting tries large separators first (paragraphs), then smaller ones (sentences, then words) until chunks fit the size limit. It respects document structure while guaranteeing size.

Structure-Aware Chunking

For Markdown, code, or HTML, split along structural elements:

  • Markdown headers and sections
  • Code functions or classes
  • HTML sections and lists

This keeps related content together.

Token Counting

Models limit by tokens, not characters. Estimate tokens before embedding so chunks fit the model window.

def approx_tokens(text):
    return max(1, len(text) // 4)

print(approx_tokens('The quick brown fox jumps'))

Matching Chunks to Queries

Think about how users query. If questions target short facts, smaller chunks improve precision. If questions need broad context, larger chunks help. Sometimes you store both granularities.

Adding Context to Chunks

A chunk taken out of context can be ambiguous. Prepend a short header (document title, section name) to each chunk before embedding so the vector knows where it came from.

Iterate and Measure

There is no universal best chunk size. Pick a starting point (often a few hundred tokens with modest overlap), then measure retrieval quality and adjust. Chunking is an experiment, not a fixed rule.

Quick Check

Test your understanding of chunk overlap.

Recap

You learned that chunking turns documents into focused, embeddable pieces. Balance chunk size, add overlap to preserve boundary context, prefer sentence-aware or recursive splitting, count tokens, enrich chunks with context headers, and iterate while measuring retrieval quality.

البدء مجانًا

تعلم Vector Databases: Pinecone, Weaviate & pgvector مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
12
الدروس
48

الأسئلة الشائعة

هل درس «تقسيم النص إلى أجزاء لتحسين Embeddings» مجاني؟

نعم — نص درس «تقسيم النص إلى أجزاء لتحسين Embeddings» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Vector Databases: Pinecone, Weaviate & pgvector، انتقل إلى CoddyKit PRO. تتضمن دورة Vector Databases: Pinecone, Weaviate & pgvector 4 دروس في المجموع.

ماذا ستتعلم في «تقسيم النص إلى أجزاء لتحسين Embeddings»؟

تعلّم كيفية تقسيم المستندات إلى أجزاء مناسبة للـ Embeddings، ولماذا يهم حجم الجزء والتداخل، والاستراتيجيات التي تزيد جودة الاسترجاع إلى أقصى حد. تتمرن على Vector Databases: Pinecone, Weaviate & pgvector مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Vector Databases: Pinecone, Weaviate & pgvector؟

لا تُشترط خبرة سابقة. Vector Databases: Pinecone, Weaviate & pgvector على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «تقسيم النص إلى أجزاء لتحسين Embeddings»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Vector Databases: Pinecone, Weaviate & pgvector هذا؟

نعم. كل درس في Vector Databases: Pinecone, Weaviate & pgvector يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. نماذج تضمين النصوص
  2. استخدام واجهات برمجة تطبيقات التضمينات
  3. تخزين التضمينات وتحديثها
  4. تقسيم النص إلى أجزاء لتحسين Embeddings
← العودة إلى Vector Databases: Pinecone, Weaviate & pgvector