AI-agenter · leksjon

Innlesere, oppdelere og vektorlager

Bruk DocumentLoaders for PDF-er og HTML, TextSplitters til oppdeling og VectorStores til gjenfinning.

Leksjon 2 av 415 trinn

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

  1. Dokumentinnlastere — leser rådata inn i Documents
  2. Tekstdelere — deler Documents i tekstbiter
  3. 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.

Gratis å komme i gang

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

  1. LangChain-arkitektur: modeller, prompter, kjeder
  2. Innlesere, oppdelere og vektorlager
  3. LCEL (LangChain Expression Language)
  4. Bygge en RAG-kjede fra ende til ende
← Tilbake til AI-agenter