Forklaring av dokumentlastere
Oppdag hvordan du laster inn data fra ulike kilder, som PDF-filer, nettsider og databaser, i et format som kan brukes av LangChain
Forklaring av dokumentlastere er en gratis leksjon i AI-agenter med LangChain og autonome arbeidsflyter på CoddyKit. Dette er leksjon 1 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 med LangChain og autonome arbeidsflyter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i AI-agenter med LangChain og autonome arbeidsflyter inneholder totalt 4 leksjoner.
Data for smartere LLM-er
Store språkmodeller (LLM-er) er kraftige, men kunnskapen deres er begrenset til treningsdataene. For at AI-agenter virkelig skal være nyttige, trenger de ofte tilgang til oppdatert, ekstern informasjon.
- Forestill Dem en agent som må svare på spørsmål om dagens nyheter.
- Eller en agent som oppsummerer et bestemt dokument fra bedriftens interne lagringsområde.
Det er her datalasting kommer inn.
Hva er dokumentlastere?
Dokumentlastere er LangChains måte å hente eksterne data inn i arbeidsflyten til agenten. De fungerer som broer ved å konvertere rådata fra ulike kilder til et standardisert format som LLM-er kan forstå.
Tenk på dem som spesialiserte datakoblinger. De håndterer de kompliserte detaljene ved å lese filer, hente nettsider eller spørre databaser, og presenterer deretter dataene på en ryddig måte for LangChain.
LangChain Document-objektet
Når en laster henter data, pakker den dem inn i et Document-objekt. Dette er LangChains universelle beholder for data.
Hvert Document har vanligvis to hoveddeler:
page_content: Det faktiske tekstinnholdet som er hentet ut fra kilden (for eksempel teksten fra en PDF-side eller en nettartikkel).metadata: En ordbok som inneholder ekstra informasjon om dokumentet (for eksempel kilde-URL, sidetall, filbane eller opprettelsesdato).
Laste inn lokale tekstfiler
En av de enkleste måtene å laste inn data på er fra en ren tekstfil på datamaskinen. LangChain tilbyr TextLoader til dette formålet.
Den tar imot en filbane, leser innholdet og oppretter et Document-objekt. La oss se hvordan det fungerer, ved å opprette en midlertidig fil og laste den inn.
TextLoader i praksis
Dette eksempelet oppretter en midlertidig tekstfil, skriver inn litt innhold, bruker deretter TextLoader til å lese den og skriver ut resultatet.
from langchain_community.document_loaders import TextLoader
import os
import tempfile
if __name__ == "__main__":
# Create a temporary file
with tempfile.NamedTemporaryFile(mode='w', delete=False, encoding='utf-8') as temp_file:
temp_file.write("Hello CoddyKit!\nThis is a test document.")
temp_file_path = temp_file.name
print(f"Created temp file: {temp_file_path}")
try:
# Load the document using TextLoader
loader = TextLoader(temp_file_path)
documents = loader.load()
# Print the content of the loaded document
for doc in documents:
print("--- Document Content ---")
print(doc.page_content)
print("--- Metadata ---")
print(doc.metadata)
finally:
# Clean up the temporary file
os.remove(temp_file_path)
print(f"Cleaned up temp file: {temp_file_path}")Nettinnhold med WebBaseLoader
Hva om dataene Deres ligger på internett? WebBaseLoader egner seg perfekt til å hente innhold direkte fra nettsider.
Den er intelligent nok til å trekke ut hovedinnholdet i teksten og ignorere navigasjon, annonser og andre irrelevante elementer. De trenger bare å oppgi URL-en!
Eksempel på WebBaseLoader
Slik henter De innhold fra en enkel eksempelnettside. Merk: Denne lasteren krever vanligvis at beautifulsoup4 og lxml er installert.
from langchain_community.document_loaders import WebBaseLoader
if __name__ == "__main__":
# Define the URL to load
url = "https://www.google.com/search?q=hello"
print(f"Loading content from: {url}")
# Initialize the WebBaseLoader
loader = WebBaseLoader(url)
# Load the documents
documents = loader.load()
# Print the content of the first loaded document
if documents:
print("--- Extracted Content (first 200 chars) ---")
print(documents[0].page_content[:200] + "...")
print("--- Metadata ---")
print(documents[0].metadata)
else:
print("No documents loaded.")PDF-er og strukturerte dokumenter
Det er vanlig å ha behov for å laste inn data fra PDF-er. LangChain tilbyr lastere som PyPDFLoader (som bruker biblioteket pypdf) til å håndtere dette.
Disse lasterne er utviklet for å trekke ut tekst fra komplekse formater, og bevarer ofte deler av strukturen. For PDF-er kan hver side bli et separat Document-objekt med metadata som angir sidetallet.
Det finnes også lastere for andre formater, som CSV, JSON og Markdown, samt for bestemte datastrukturer som Notion-databaser eller Confluence-sider.
Utover filer: databaselastere
Dataene Deres kan ligge i databaser. LangChain støtter ulike databaselastere som kobler seg direkte til datakildene Deres:
- SQL Database Loader: Kobler seg til relasjonelle databaser (for eksempel PostgreSQL og MySQL) for å hente data basert på spørringer.
- MongoDB Loader: For NoSQL-dokumentdatabaser.
- Elasticsearch Loader: For å hente data fra Elasticsearch-indekser.
Disse lasterne gjør det mulig for agentene Deres å spørre etter og hente data dynamisk fra den eksisterende datainfrastrukturen.
Kort kontroll
Hvilket av følgende er IKKE et hovedformål med en LangChain Document Loader?
Oppsummering: Dokumentlastere
I denne leksjonen utforsket vi LangChains Document Loaders, viktige verktøy for å hente eksterne data inn i AI-agentene Deres.
- Loaderne konverterer ulike datakilder (tekstfiler, nettsider, PDF-filer, databaser) til LangChains universelle
Document-objekt. - Hvert
Documentinneholderpage_contentogmetadata. - Vi så praktiske eksempler med
TextLoaderfor lokale filer ogWebBaseLoaderfor nettinnhold.
Deretter skal vi lære hvordan store dokumenter kan håndteres ved å dele dem opp i håndterbare deler.
Lær deg AI-agenter med LangChain og autonome arbeidsflyter 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
- 50
Ofte stilte spørsmål
Er leksjonen «Forklaring av dokumentlastere» gratis?
Ja – hele teksten i «Forklaring av dokumentlastere» 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 med LangChain og autonome arbeidsflyter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i AI-agenter med LangChain og autonome arbeidsflyter inneholder totalt 4 leksjoner.
Hva lærer jeg i «Forklaring av dokumentlastere»?
Oppdag hvordan du laster inn data fra ulike kilder, som PDF-filer, nettsider og databaser, i et format som kan brukes av LangChain Du øver på AI-agenter med LangChain og autonome arbeidsflyter 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 med LangChain og autonome arbeidsflyter?
Ingen tidligere erfaring er nødvendig. AI-agenter med LangChain og autonome arbeidsflyter 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 1 av 4.
Hvor lang tid tar leksjonen «Forklaring av dokumentlastere»?
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 med LangChain og autonome arbeidsflyter-leksjonen?
Ja. Alle AI-agenter med LangChain og autonome arbeidsflyter-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
- Forklaring av dokumentlastere
- Tekstdelere og embedding-er
- Vektordatabaser for gjenfinning
- Retrievere og kontekstuell komprimering