Anmelden

Installation

pip install langchain-crawlbase

Schlanke Installation: nur langchain-core und requests werden mitgeliefert, keine weiteren LangChain-Extras erforderlich. Getestet mit Python 3.9+.

Document Loader

Verwenden Sie CrawlbaseLoader überall dort, wo LangChain einen Loader erwartet: RAG-Pipelines, Vectorstore-Ingestion, Agent-Kontext.

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())

Agent-Tool

Stellen Sie Crawlbase als Agent-Tool bereit, damit das LLM URLs bei Bedarf abrufen kann.

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?")

Retriever

CrawlbaseRetriever ruft eine feste Menge von Seed-URLs ab und gibt Dokumente zurück, die zu einer Query passen. Nützlich, wenn Sie Live-Ergebnisse möchten, ohne einen Vector Store aufzusetzen.

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 verwendet Substring-Matching ohne Berücksichtigung der Groß-/Kleinschreibung gegen das abgerufene Markdown. Für semantisches Retrieval kombinieren Sie CrawlbaseLoader mit dem Vector Store Ihrer Wahl.

JavaScript-gerenderte Seiten

Für SPAs und Seiten, deren Inhalte per JavaScript geladen werden, übergeben Sie Ihren JavaScript token im selben token-Parameter: Crawlbase leitet die Anfrage basierend auf dem gesendeten Token weiter. Kein zusätzliches Flag erforderlich.

Zusätzliche Crawlbase-Parameter

Leiten Sie beliebige Crawlbase API-Parameter (country, device, page_wait, scroll, css_click_selector, Cookies, Screenshots usw.) über extra_params weiter.

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

Dokument-Metadaten

Jedes vom Loader / Retriever zurückgegebene Document enthält Response-Metadaten von Crawlbase:

  • source: die angeforderte URL
  • resolved_url: die endgültige URL nach allen Weiterleitungen (sofern abweichend von source)
  • pc_status: der finale Statuscode von Crawlbase
  • original_status: HTTP-Status, der von der Zielseite zurückgegeben wurde
  • content_type: Content-Type-Header der Response

Gängige Muster

  • RAG über einen frischen Crawl: Verwenden Sie CrawlbaseLoader, um ein paar Seed-URLs abzurufen, in Chunks zu splitten, einzubetten und abzufragen.
  • Live-Web-Recherche-Agent: Registrieren Sie CrawlbaseTool zusammen mit einem Such-Tool: Der Agent sucht zuerst und crawlt dann die relevanten Ergebnisse.
  • Site-Monitoring: Planen Sie den Loader so, dass er dieselben URLs täglich neu abruft, und führen Sie ein Diff in Ihren Vector Store durch.