Se connecter

Installation

pip install langchain-crawlbase

Installation légère : seuls langchain-core et requests sont installés, aucun autre extra LangChain n'est requis. Testé sur Python 3.9+.

Document loader

Utilisez CrawlbaseLoader partout où LangChain attend un loader : pipelines RAG, ingestion vers vectorstore, contexte d'agent.

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

Outil d'agent

Exposez Crawlbase comme outil d'agent afin que le LLM puisse récupérer des URL à la demande.

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 récupère un ensemble fixe d'URL de départ et renvoie les documents correspondant à une requête. Utile lorsque vous voulez des résultats en direct sans monter de vector store.

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 utilise une correspondance par sous-chaîne insensible à la casse sur le Markdown récupéré. Pour du retrieval sémantique, associez CrawlbaseLoader au vector store de votre choix.

Pages rendues en JavaScript

Pour les SPA et les pages dont le contenu se charge via JavaScript, passez votre JavaScript token dans le même paramètre token : Crawlbase route la requête en fonction du token envoyé. Aucun flag supplémentaire requis.

Paramètres Crawlbase supplémentaires

Transmettez n'importe quel paramètre de l'API Crawlbase (country, device, page_wait, scroll, css_click_selector, cookies, captures d'écran, etc.) via extra_params.

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

Métadonnées du document

Chaque Document renvoyé par le loader / retriever contient les métadonnées de réponse de Crawlbase :

  • source : l'URL que vous avez demandée
  • resolved_url : l'URL finale après d'éventuelles redirections (lorsqu'elle diffère de source)
  • pc_status : le code de statut final de Crawlbase
  • original_status : le statut HTTP renvoyé par le site cible
  • content_type : l'en-tête content-type de la réponse

Cas d'usage courants

  • RAG sur un crawl frais : utilisez CrawlbaseLoader pour récupérer quelques URL de départ, découpez en chunks, embeddez, interrogez.
  • Agent de recherche web en direct : enregistrez CrawlbaseTool aux côtés d'un outil de recherche : l'agent effectue d'abord la recherche, puis crawle les résultats pertinents.
  • Monitoring de sites : planifiez le loader pour re-récupérer les mêmes URL chaque jour et diffez le résultat dans votre vector store.