LangChain
Document loaders, retrievers et outils d'agent prêts à l'emploi pour LangChain. Crawlez n'importe quelle URL directement dans votre pipeline de retrieval ou exposez Crawlbase comme un outil que l'agent peut appeler.
Installation
pip install langchain-crawlbaseInstallation 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éeresolved_url: l'URL finale après d'éventuelles redirections (lorsqu'elle diffère de source)pc_status: le code de statut final de Crawlbaseoriginal_status: le statut HTTP renvoyé par le site ciblecontent_type: l'en-tête content-type de la réponse
Cas d'usage courants
- RAG sur un crawl frais :
utilisez
CrawlbaseLoaderpour récupérer quelques URL de départ, découpez en chunks, embeddez, interrogez. - Agent de recherche web en direct :
enregistrez
CrawlbaseToolaux 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.