AI-agenter · Lektion

Laddare, splitters och vektorlager

Använd DocumentLoaders för PDF/HTML, TextSplitters för chunking och VectorStores för sökning.

Lektion 2 av 415 steg

Laddare, splitters och vektorlager är en gratis lektion i AI-agenter på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för AI-agenter, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i AI-agenter innehåller totalt 4 lektioner.

Delar av den här lektionen har ännu inte översatts och visas på engelska.

RAG:s tre grundpelare i LangChain

  1. Dokumentladdare — läser in rådata till Documents
  2. Textdelare — delar upp Documents i mindre delar
  3. Vektorlagringar — bäddar in och indexerar delar

Dokumentladdare

LangChain har över 100 laddare. Exempel:

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

Varje laddare returnerar en lista med Documents:

doc = pdf_docs[0]
print(doc.page_content)   # the text
print(doc.metadata)       # {'source': 'handbook.pdf', 'page': 1}

Vanliga laddare

  • PyPDFLoader, UnstructuredFileLoader — PDF-filer
  • WebBaseLoader, SitemapLoader — webbsidor
  • NotionLoader, GoogleDriveLoader — SaaS
  • GitLoader — kodarkiv
  • SQLDatabaseLoader — databaskolumner

Textdelare

Konvertera Documents till mindre delar:

from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
    chunk_size=800,
    chunk_overlap=100,
    separators=['\n\n', '\n', '. ', ' ']
)
chunks = splitter.split_documents(pdf_docs)

Specialiserade delare

  • MarkdownHeaderTextSplitter — delar upp efter rubrik
  • RecursiveCharacterTextSplitter — tar hänsyn till stycken och meningar
  • HTMLHeaderTextSplitter — tar hänsyn till HTML
  • Språkspecifika (Python, Markdown, LaTeX)

Tokenmedveten uppdelning

Använd modellens tokenizer för tokenexakta uppdelningar:

splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
    encoding_name='cl100k_base',
    chunk_size=400,
    chunk_overlap=50
)

Vektorlagringar

Bädda in och lagra delarna:

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 sparar på disk om Ni anger persist_directory. Så här läser Ni in det igen:

store = Chroma(persist_directory='./db', embedding_function=embeddings)

Andra vektorlagringar

Samma gränssnitt, annan backend:

from langchain_community.vectorstores import FAISS, Pinecone, Qdrant, Weaviate

store = FAISS.from_documents(chunks, embeddings)
store.save_local('./faiss_db')

MultiVectorRetriever

Indexera små delar men hämta stora överordnade delar:

from langchain.retrievers import MultiVectorRetriever
# Use the parent-child pattern automatically.

Self-query-retrievers

Låt LLM generera metadatafilter från naturligt språk:

from langchain.retrievers.self_query.base import SelfQueryRetriever
# 'What did Alice say in 2023?' -> filter={author: 'Alice', year: 2023}

Retrieverns utdata

Vad returnerar en LangChain-retriever?

Sammanfattning

Laddare + delare + vektorlagringar = en komplett RAG-stack. Nästa steg: komponera dem med LCEL till en komplett kedja.

Gratis att börja

Lär dig AI-agenter med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
60
Lektioner
239

Vanliga frågor

Är lektionen ”Laddare, splitters och vektorlager” gratis?

Ja – hela texten till ”Laddare, splitters och vektorlager” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i AI-agenter, kan Ni uppgradera till CoddyKit PRO. Kursen i AI-agenter innehåller totalt 4 lektioner.

Vad lär jag mig i ”Laddare, splitters och vektorlager”?

Använd DocumentLoaders för PDF/HTML, TextSplitters för chunking och VectorStores för sökning. Ni övar på AI-agenter med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig AI-agenter?

Du behöver inga förkunskaper. Utbildningen i AI-agenter på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Laddare, splitters och vektorlager”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här AI-agenter-lektionen?

Ja. Varje AI-agenter-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. LangChain-arkitektur: modeller, prompter och kedjor
  2. Laddare, splitters och vektorlager
  3. LCEL (LangChain Expression Language)
  4. Bygg en RAG-kedja från början till slut
← Tillbaka till AI-agenter