Wyjaśnienie document loaderów
Dowiedz się, jak wczytywać dane z różnych źródeł, takich jak pliki PDF, strony internetowe i bazy danych, do formatu użytecznego w LangChain.
Wyjaśnienie document loaderów to bezpłatna lekcja AI Agents with LangChain & Autonomous Workflows na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents with LangChain & Autonomous Workflows, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents with LangChain & Autonomous Workflows zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
Data for Smarter LLMs
Large Language Models (LLMs) are powerful, but their knowledge is limited to their training data. To make AI agents truly useful, they often need access to fresh, external information.
- Imagine an agent that needs to answer questions about today's news.
- Or one that summarizes a specific document from your company's internal drive.
This is where data loading comes in.
What are Document Loaders?
Document Loaders are LangChain's way of bringing external data into your agent's workflow. They act as bridges, converting raw data from various sources into a standardized format that LLMs can understand.
Think of them as specialized data connectors. They handle the messy details of reading files, fetching web pages, or querying databases, and then present the data cleanly to LangChain.
The LangChain Document Object
When a loader fetches data, it wraps it into a Document object. This is LangChain's universal container for data.
Each Document typically has two main parts:
page_content: The actual text content extracted from the source (e.g., the text from a PDF page, a web article).metadata: A dictionary containing extra information about the document (e.g., source URL, page number, file path, creation date).
Loading from Local Text Files
One of the simplest ways to load data is from a plain text file on your computer. LangChain provides the TextLoader for this purpose.
It takes a file path, reads the content, and creates a Document object. Let's see how it works by creating a temporary file and loading it.
TextLoader in Action
This example creates a temporary text file, writes some content, then uses TextLoader to read it and prints the result.
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}")Web Content with WebBaseLoader
What if your data is on the internet? The WebBaseLoader is perfect for fetching content directly from web pages.
It's smart enough to extract the main text content, ignoring navigation, ads, and other irrelevant elements. You just provide the URL!
WebBaseLoader Example
Here's how to fetch content from a simple example web page. Note: This loader typically requires beautifulsoup4 and lxml to be installed.
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.")PDFs and Structured Documents
Loading data from PDFs is a common requirement. LangChain offers loaders like PyPDFLoader (which uses the pypdf library) to handle these.
These loaders are designed to extract text from complex formats, often preserving some structure. For PDFs, each page might become a separate Document object, with metadata indicating its page number.
There are also loaders for other formats like CSV, JSON, Markdown, and even specific data structures like Notion databases or Confluence pages.
Beyond Files: Database Loaders
Your data might live in databases. LangChain supports various database loaders to connect directly to your data sources:
- SQL Database Loader: Connects to relational databases (e.g., PostgreSQL, MySQL) to fetch data based on queries.
- MongoDB Loader: For NoSQL document databases.
- Elasticsearch Loader: To pull data from Elasticsearch indices.
These loaders allow your agents to dynamically query and retrieve data from your existing data infrastructure.
Quick Check
Which of the following is NOT a primary purpose of a LangChain Document Loader?
Recap: Document Loaders
In this lesson, we explored LangChain's Document Loaders, essential tools for bringing external data into your AI agents.
- Loaders convert diverse data sources (text files, web pages, PDFs, databases) into LangChain's universal
Documentobject. - Each
Documentcontainspage_contentandmetadata. - We saw practical examples with
TextLoaderfor local files andWebBaseLoaderfor web content.
Next, we'll learn how to handle large documents by splitting them into manageable chunks.
Ucz się AI Agents with LangChain & Autonomous Workflows dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 50
Często zadawane pytania
Czy lekcja „Wyjaśnienie document loaderów” jest bezpłatna?
Tak — pełny tekst „Wyjaśnienie document loaderów” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents with LangChain & Autonomous Workflows, przejdź na CoddyKit PRO. Kurs AI Agents with LangChain & Autonomous Workflows zawiera 4 lekcji w sumie.
Co nauczysz się w „Wyjaśnienie document loaderów”?
Dowiedz się, jak wczytywać dane z różnych źródeł, takich jak pliki PDF, strony internetowe i bazy danych, do formatu użytecznego w LangChain. Ćwiczysz AI Agents with LangChain & Autonomous Workflows z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć AI Agents with LangChain & Autonomous Workflows?
Nie wymagamy żadnego doświadczenia. AI Agents with LangChain & Autonomous Workflows w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Wyjaśnienie document loaderów”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents with LangChain & Autonomous Workflows?
Tak. Każda lekcja AI Agents with LangChain & Autonomous Workflows zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wyjaśnienie document loaderów
- Text splittery i embeddings
- Vector stores na potrzeby wyszukiwania
- Retrievery i kompresja kontekstowa