Suddividere il testo per ottenere embedding migliori
Imparate a dividere i documenti in chunk che producano embedding efficaci, perché dimensione e sovrapposizione dei chunk siano importanti e quali strategie massimizzino la qualità del recupero.
Suddividere il testo per ottenere embedding migliori è una lezione Vector Databases: Pinecone, Weaviate & pgvector gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Vector Databases: Pinecone, Weaviate & pgvector, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Vector Databases: Pinecone, Weaviate & pgvector include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
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.
Domande Frequenti
La lezione «Suddividere il testo per ottenere embedding migliori» è gratuita?
Sì — il testo completo di «Suddividere il testo per ottenere embedding migliori» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Vector Databases: Pinecone, Weaviate & pgvector, passa a CoddyKit PRO. Il corso Vector Databases: Pinecone, Weaviate & pgvector include 4 lezioni in totale.
Cosa imparerò in «Suddividere il testo per ottenere embedding migliori»?
Imparate a dividere i documenti in chunk che producano embedding efficaci, perché dimensione e sovrapposizione dei chunk siano importanti e quali strategie massimizzino la qualità del recupero. Eserciti Vector Databases: Pinecone, Weaviate & pgvector con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Vector Databases: Pinecone, Weaviate & pgvector?
Non è richiesta alcuna esperienza precedente. Vector Databases: Pinecone, Weaviate & pgvector su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Suddividere il testo per ottenere embedding migliori»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Vector Databases: Pinecone, Weaviate & pgvector?
Sì. Ogni lezione Vector Databases: Pinecone, Weaviate & pgvector include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Modelli di text embedding
- Utilizzare le API per gli embedding
- Memorizzare e aggiornare gli embedding
- Suddividere il testo per ottenere embedding migliori