Dele opp tekst for bedre embeddings
Lær hvordan De deler dokumenter i biter som egner seg godt for embedding, hvorfor størrelse og overlapp betyr noe, og hvilke strategier som maksimerer kvaliteten på henting.
Dele opp tekst for bedre embeddings er en gratis leksjon i Vektordatabaser: Pinecone, Weaviate og pgvector på CoddyKit. Dette er leksjon 4 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Vektordatabaser: Pinecone, Weaviate og pgvector, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Vektordatabaser: Pinecone, Weaviate og pgvector inneholder totalt 4 leksjoner.
Hvorfor oppdeling i biter er viktig
Embedding-modeller har en tokenbegrensning og produserer én vektor per inndata. Hvis De mater inn et helt dokument, blir resultatet en vag, gjennomsnittlig vektor. Oppdeling i biter deler teksten i fokuserte deler, slik at hver vektor fanger opp en bestemt idé.
Goldilocks-problemet
Størrelsen på bitene er en balansegang:
- For store — utvannet betydning og blandede temaer i én vektor
- For små — fragmenter mister kontekst, og det blir flere vektorer å lagre
Ta sikte på biter som inneholder én sammenhengende tanke.
Oppdeling i biter av fast størrelse
Den enkleste metoden: del teksten ved hvert N-te tegn eller token.
def chunk(text, size):
return [text[i:i+size] for i in range(0, len(text), size)]
print(chunk('abcdefghij', 4))Overlappstrikset
Faste delinger kan kutte en setning i to, slik at kontekst går tapt ved grensen. Ved å legge til overlapp gjentas de siste tokenene i én bit i begynnelsen av den neste, slik at ideer som går på tvers av en grense, bevares.
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))Setningsbevisst oppdeling
Dette er bedre enn blind oppdeling etter tegn: del ved setningsgrenser, og grupper deretter setninger opp til en mål størrelse. Bitene avsluttes naturlig og henger godt sammen.
Rekursiv oppdeling
Rekursiv oppdeling prøver først store skilletegn (avsnitt), deretter mindre (setninger og så ord), til bitene passer innenfor størrelsesgrensen. Den respekterer dokumentstrukturen samtidig som størrelsen garanteres.
Strukturbevisst oppdeling
For Markdown, kode eller HTML bør De dele langs strukturelle elementer:
- Markdown-overskrifter og -seksjoner
- kodefunksjoner eller klasser
- HTML-seksjoner og -lister
Dette holder relatert innhold samlet.
Telling av token
Modeller begrenser størrelsen etter token, ikke tegn. Estimer antallet token før embedding, slik at bitene passer i modellvinduet.
def approx_tokens(text):
return max(1, len(text) // 4)
print(approx_tokens('The quick brown fox jumps'))Tilpasning av biter til spørringer
Tenk på hvordan brukerne stiller spørringer. Hvis spørsmålene gjelder korte fakta, gir mindre biter bedre presisjon. Hvis spørsmålene krever bred kontekst, er større biter nyttige. Noen ganger lagrer De begge detaljnivåene.
Tilføying av kontekst til biter
En bit som tas ut av konteksten, kan være tvetydig. Legg til en kort overskrift (dokumenttittel, seksjonsnavn) først i hver bit før embedding, slik at vektoren vet hvor den kom fra.
Iterer og mål
Det finnes ingen universelt beste bitstørrelse. Velg et utgangspunkt (ofte noen hundre token med moderat overlapp), og mål deretter kvaliteten på tilbakefinningen før De justerer. Oppdeling i biter er et eksperiment, ikke en fast regel.
Kort kontroll
Test forståelsen Deres av overlapp mellom biter.
Oppsummering
De har lært at oppdeling i biter gjør dokumenter om til fokuserte deler som kan embedd es. Balanser bitstørrelsen, legg til overlapp for å bevare kontekst ved grenser, foretrekk setningsbevisst eller rekursiv oppdeling, tell token, berik bitene med kontekstoverskrifter, og iterer mens De måler kvaliteten på tilbakefinningen.
Lær deg Vektordatabaser: Pinecone, Weaviate og pgvector med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Dele opp tekst for bedre embeddings» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Vektordatabaser: Pinecone, Weaviate og pgvector, inkludert «Dele opp tekst for bedre embeddings», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Vektordatabaser: Pinecone, Weaviate og pgvector inneholder totalt 4 leksjoner.
Hva lærer jeg i «Dele opp tekst for bedre embeddings»?
Lær hvordan De deler dokumenter i biter som egner seg godt for embedding, hvorfor størrelse og overlapp betyr noe, og hvilke strategier som maksimerer kvaliteten på henting. Du øver på Vektordatabaser: Pinecone, Weaviate og pgvector med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Vektordatabaser: Pinecone, Weaviate og pgvector?
Ingen tidligere erfaring er nødvendig. Vektordatabaser: Pinecone, Weaviate og pgvector på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Dele opp tekst for bedre embeddings»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Vektordatabaser: Pinecone, Weaviate og pgvector-leksjonen?
Ja. Alle Vektordatabaser: Pinecone, Weaviate og pgvector-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Modeller for tekstepresentasjoner
- Bruke embedding-API-er
- Lagre og oppdatere embedding-er
- Dele opp tekst for bedre embeddings