0Pricing
AI Agents with LangChain & Autonomous Workflows · Урок

Загрузчики документов

Узнайте, как загружать данные из разных источников, таких как PDF-файлы, веб-страницы и базы данных, в пригодный для LangChain формат

«Загрузчики документов» — бесплатный урок AI Agents with LangChain & Autonomous Workflows на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents with LangChain & Autonomous Workflows, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents with LangChain & Autonomous Workflows содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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 Document object.
  • Each Document contains page_content and metadata.
  • We saw practical examples with TextLoader for local files and WebBaseLoader for web content.

Next, we'll learn how to handle large documents by splitting them into manageable chunks.

Часто задаваемые вопросы

Урок «Загрузчики документов» бесплатный?

Да — полный текст урока «Загрузчики документов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents with LangChain & Autonomous Workflows, подпишись на CoddyKit PRO. Курс AI Agents with LangChain & Autonomous Workflows содержит 4 уроков всего.

Чему я научусь в уроке «Загрузчики документов»?

Узнайте, как загружать данные из разных источников, таких как PDF-файлы, веб-страницы и базы данных, в пригодный для LangChain формат Ты практикуешь AI Agents with LangChain & Autonomous Workflows с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents with LangChain & Autonomous Workflows?

Предыдущий опыт не требуется. AI Agents with LangChain & Autonomous Workflows на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Загрузчики документов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents with LangChain & Autonomous Workflows?

Да. Каждый урок AI Agents with LangChain & Autonomous Workflows включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Загрузчики документов
  2. Разделители текста и эмбеддинги
  3. Векторные хранилища для извлечения данных
  4. Извлечение данных и контекстное сжатие
← Назад к AI Agents with LangChain & Autonomous Workflows