Войти

Установка

pip install langchain-crawlbase

Лёгкая установка - подтягиваются только langchain-core и requests, никаких дополнительных расширений LangChain не требуется. Протестировано на Python 3.9+.

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

Используйте CrawlbaseLoader везде, где LangChain ожидает загрузчик: RAG-пайплайны, загрузка в vectorstore, контекст для агентов.

from langchain_crawlbase import CrawlbaseLoader

loader = CrawlbaseLoader(
    urls=["https://example.com/blog/post-1", "https://example.com/blog/post-2"],
    token="YOUR_TOKEN",
)
docs = loader.load()

from langchain_community.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings

vs = Chroma.from_documents(docs, OpenAIEmbeddings())

Инструмент для агента

Предоставьте Crawlbase как инструмент для агента, чтобы LLM мог получать URL по запросу.

from langchain_openai import ChatOpenAI
from langchain_crawlbase import CrawlbaseTool

tool = CrawlbaseTool(token="YOUR_TOKEN")

llm = ChatOpenAI(model="gpt-4o").bind_tools([tool])
llm.invoke("What's on the homepage of anthropic.com today?")

Ретривер

CrawlbaseRetriever получает фиксированный набор seed-URL и возвращает документы, соответствующие запросу. Полезно, когда нужны актуальные результаты без поднятия векторного хранилища.

from langchain_crawlbase import CrawlbaseRetriever

retriever = CrawlbaseRetriever(
    token="YOUR_TOKEN",
    urls=[
        "https://crawlbase.com/docs/crawling-api",
        "https://crawlbase.com/docs/crawling-api#parameters",
    ],
)
docs = retriever.invoke("how do I render JavaScript pages")

v0.1 использует регистронезависимое сопоставление подстрок по полученному Markdown. Для семантического поиска комбинируйте CrawlbaseLoader с векторным хранилищем по вашему выбору.

Страницы с JavaScript-рендерингом

Для SPA и страниц, содержимое которых загружается через JavaScript, передавайте ваш JavaScript token в том же параметре token: Crawlbase маршрутизирует запрос в зависимости от того, какой токен вы отправили. Никаких дополнительных флагов не нужно.

Дополнительные параметры Crawlbase

Передавайте любой параметр Crawlbase API (country, device, page_wait, scroll, css_click_selector, cookies, скриншоты и т. д.) через extra_params.

loader = CrawlbaseLoader(
    token="YOUR_TOKEN",
    urls=["https://example.com"],
    extra_params={"country": "US", "device": "mobile"},
)

Метаданные документа

Каждый Document, возвращаемый загрузчиком / ретривером, содержит метаданные ответа от Crawlbase:

  • source: запрошенный вами URL
  • resolved_url: финальный URL после всех редиректов (когда отличается от source)
  • pc_status: финальный код статуса от Crawlbase
  • original_status: HTTP-статус, возвращённый целевым сайтом
  • content_type: заголовок content-type ответа

Типовые сценарии

  • RAG поверх свежего краула: используйте CrawlbaseLoader, чтобы получить несколько seed-URL, разбить на чанки, создать эмбеддинги и выполнять запросы.
  • Агент для актуальных веб-исследований: зарегистрируйте CrawlbaseTool вместе с инструментом поиска: агент сначала ищет, а затем краулит релевантные результаты.
  • Мониторинг сайтов: запускайте загрузчик по расписанию, чтобы ежедневно повторно получать те же URL и записывать различия в векторное хранилище.