LangChain
Готовые загрузчики документов, ретриверы и инструменты для агентов LangChain. Краулите любой URL прямо в ваш retrieval-пайплайн или предоставьте Crawlbase как инструмент, который агент может вызывать.
Установка
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: запрошенный вами URLresolved_url: финальный URL после всех редиректов (когда отличается от source)pc_status: финальный код статуса от Crawlbaseoriginal_status: HTTP-статус, возвращённый целевым сайтомcontent_type: заголовок content-type ответа
Типовые сценарии
- RAG поверх свежего краула:
используйте
CrawlbaseLoader, чтобы получить несколько seed-URL, разбить на чанки, создать эмбеддинги и выполнять запросы. - Агент для актуальных веб-исследований:
зарегистрируйте
CrawlbaseToolвместе с инструментом поиска: агент сначала ищет, а затем краулит релевантные результаты. - Мониторинг сайтов: запускайте загрузчик по расписанию, чтобы ежедневно повторно получать те же URL и записывать различия в векторное хранилище.