Innlesere, oppdelere og vektorlager
Bruk DocumentLoaders for PDF-er og HTML, TextSplitters til oppdeling og VectorStores til gjenfinning.
Innlesere, oppdelere og vektorlager er en gratis leksjon i AI-agenter på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i AI-agenter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-agenter inneholder totalt 4 leksjoner.
Deler av denne leksjonen er ennå ikke oversatt og vises på engelsk.
Tre grunnpilarer for RAG i LangChain
- Dokumentinnlastere — leser rådata inn i Documents
- Tekstdelere — deler Documents i tekstbiter
- Vektorlagre — genererer embedding-representasjoner av og indekserer tekstbiter
Dokumentinnlastere
LangChain har over 100 innlastere. Eksempler:
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()Dokumentobjektet
Hver innlaster returnerer en liste med Documents:
doc = pdf_docs[0]
print(doc.page_content) # the text
print(doc.metadata) # {'source': 'handbook.pdf', 'page': 1}Vanlige innlastere
- PyPDFLoader, UnstructuredFileLoader — PDF-filer
- WebBaseLoader, SitemapLoader — nettsider
- NotionLoader, GoogleDriveLoader — SaaS-tjenester
- GitLoader — kode-repositorier
- SQLDatabaseLoader — databaserader
Tekstdelere
Konverter Documents til mindre tekstbiter:
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=800,
chunk_overlap=100,
separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)Spesialiserte tekstdelere
- MarkdownHeaderTextSplitter — deler etter overskrift
- RecursiveCharacterTextSplitter — tar hensyn til avsnitt og setninger
- HTMLHeaderTextSplitter — tar hensyn til HTML
- Språkspesifikke (Python, Markdown, LaTeX)
Token-bevisst oppdeling
Bruk modellens tokenizer for tokenpresise oppdelinger:
splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
encoding_name='cl100k_base',
chunk_size=400,
chunk_overlap=50
)Vektorlagre
Generer embedding-representasjoner av og lagre tekstbitene:
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])Persistens
Chroma lagrer data på disk hvis De oppgir persist_directory. Slik laster De inn dataene på nytt:
store = Chroma(persist_directory='./db', embedding_function=embeddings)Andre vektorlagre
Samme grensesnitt, ulik backend:
from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate
store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')MultiVectorRetriever
Indekser små tekstbiter, men hent store overordnede dokumenter:
from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.Self-Query-hentere
La LLM-en generere metadatafiltre fra naturlig språk:
from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}Henterens resultat
Hva returnerer en LangChain-henter?
Oppsummering
Innlastere + tekstdelere + vektorlagre = en komplett RAG-stakk. Neste: sett dem sammen med LCEL til en komplett kjede.
Lær deg AI-agenter 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
- 60
- Leksjoner
- 239
Ofte stilte spørsmål
Er leksjonen «Innlesere, oppdelere og vektorlager» gratis?
Ja – hele teksten i «Innlesere, oppdelere og vektorlager» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av AI-agenter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AI-agenter inneholder totalt 4 leksjoner.
Hva lærer jeg i «Innlesere, oppdelere og vektorlager»?
Bruk DocumentLoaders for PDF-er og HTML, TextSplitters til oppdeling og VectorStores til gjenfinning. Du øver på AI-agenter 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 AI-agenter?
Ingen tidligere erfaring er nødvendig. AI-agenter 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 2 av 4.
Hvor lang tid tar leksjonen «Innlesere, oppdelere og vektorlager»?
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 AI-agenter-leksjonen?
Ja. Alle AI-agenter-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
- LangChain-arkitektur: modeller, prompter, kjeder
- Innlesere, oppdelere og vektorlager
- LCEL (LangChain Expression Language)
- Bygge en RAG-kjede fra ende til ende