FireCrawlLoader
此笔记本提供有关如何开始使用 FireCrawlLoader 的快速概述。有关所有 FireCrawlLoader 功能和配置的详细文档,请前往 API 参考。
概述
集成详细信息
类 | 包 | 本地 | 可序列化 | PY 支持 |
---|---|---|---|---|
FireCrawlLoader | @langchain/community | 🟠 (见下文详细信息) | 测试版 | ✅ |
加载器功能
来源 | 网页加载器 | 仅限 Node 环境 |
---|---|---|
FireCrawlLoader | ✅ | ❌ |
FireCrawl 爬取并转换任何网站,将其转换为适合 LLM 的数据。它爬取所有可访问的子页面,并为您提供每个页面的清晰标记和元数据。无需站点地图。
FireCrawl 处理诸如反向代理、缓存、速率限制和 JavaScript 阻止的内容等复杂任务。由 mendable.ai 团队构建。
本指南展示了如何使用 LangChain 中的 FireCrawlLoader
刮取和爬取整个网站并将其加载。
设置
要访问 FireCrawlLoader
文档加载器,您需要安装 @langchain/community
集成和 @mendable/[email protected]
包。然后创建一个 **FireCrawl** 帐户并获取 API 密钥。
凭据
注册并获取您的免费 FireCrawl API 密钥 以开始使用。FireCrawl 提供 300 个免费积分供您开始使用,并且它是 开源的,如果您想自行托管。
完成此操作后,设置 FIRECRAWL_API_KEY
环境变量
export FIRECRAWL_API_KEY="your-api-key"
如果您想获得模型调用的自动跟踪,也可以通过取消下面的注释来设置您的 LangSmith API 密钥
# export LANGCHAIN_TRACING_V2="true"
# export LANGCHAIN_API_KEY="your-api-key"
安装
LangChain FireCrawlLoader 集成位于 @langchain/community
包中
参见 有关安装集成包的常规说明的此部分。
- npm
- yarn
- pnpm
npm i @langchain/community @langchain/core @mendable/[email protected]
yarn add @langchain/community @langchain/core @mendable/[email protected]
pnpm add @langchain/community @langchain/core @mendable/[email protected]
实例化
以下是如何使用 FireCrawlLoader
加载网页搜索结果的示例
Firecrawl 提供两种模式:scrape
和 crawl
。在 scrape
模式下,Firecrawl 只会刮取您提供的页面。在 crawl
模式下,Firecrawl 将爬取整个网站。
现在,我们可以实例化模型对象并加载文档
import "@mendable/firecrawl-js";
import { FireCrawlLoader } from "@langchain/community/document_loaders/web/firecrawl";
const loader = new FireCrawlLoader({
url: "https://firecrawl.dev", // The URL to scrape
apiKey: "...", // Optional, defaults to `FIRECRAWL_API_KEY` in your env.
mode: "scrape", // The mode to run the crawler in. Can be "scrape" for single urls or "crawl" for all accessible subpages
params: {
// optional parameters based on Firecrawl API docs
// For API documentation, visit https://docs.firecrawl.dev
},
});
加载
const docs = await loader.load();
docs[0];
Document {
pageContent: "Introducing [Smart Crawl!](https://www.firecrawl.dev/smart-crawl)\n" +
" Join the waitlist to turn any web"... 18721 more characters,
metadata: {
title: "Home - Firecrawl",
description: "Firecrawl crawls and converts any website into clean markdown.",
keywords: "Firecrawl,Markdown,Data,Mendable,Langchain",
robots: "follow, index",
ogTitle: "Firecrawl",
ogDescription: "Turn any website into LLM-ready data.",
ogUrl: "https://www.firecrawl.dev/",
ogImage: "https://www.firecrawl.dev/og.png?123",
ogLocaleAlternate: [],
ogSiteName: "Firecrawl",
sourceURL: "https://firecrawl.dev",
pageStatusCode: 500
},
id: undefined
}
console.log(docs[0].metadata);
{
title: "Home - Firecrawl",
description: "Firecrawl crawls and converts any website into clean markdown.",
keywords: "Firecrawl,Markdown,Data,Mendable,Langchain",
robots: "follow, index",
ogTitle: "Firecrawl",
ogDescription: "Turn any website into LLM-ready data.",
ogUrl: "https://www.firecrawl.dev/",
ogImage: "https://www.firecrawl.dev/og.png?123",
ogLocaleAlternate: [],
ogSiteName: "Firecrawl",
sourceURL: "https://firecrawl.dev",
pageStatusCode: 500
}
其他参数
对于 params
,您可以根据 Firecrawl 文档 传递任何参数。
API 参考
有关所有 FireCrawlLoader 功能和配置的详细文档,请前往 API 参考:https://api.js.langchain.com/classes/langchain_community_document_loaders_web_firecrawl.FireCrawlLoader.html