跳转到主要内容

在 CrewAI 中使用 Firecrawl

Firecrawl 是面向 AI 智能体的上下文 API,而 CrewAI (用于编排 AI 智能体的框架) 内置了三个 Firecrawl 工具:Firecrawl 搜索工具、FirecrawlScrapeWebsiteTool 和 FirecrawlCrawlWebsiteTool。借助这些工具,你的 crew 可以搜索、抓取和爬取网页,获取干净的上下文。

在 CrewAI 中安装 Firecrawl 工具

每个工具在构造时通过 config 字典接收各自的 Firecrawl 选项。URL 或查询由智能体在调用工具时传入,因此你只需预先传入选项即可。

工具

FirecrawlCrawlWebsiteTool

示例

按如下方式使用 FirecrawlCrawlWebsiteTool,使你的智能体能够爬取网站:

参数

  • api_key:可选。指定 Firecrawl API 密钥。默认值为环境变量 FIRECRAWL_API_KEY。
  • config:可选。采用 snake_case 命名的爬取参数。传入 config 会覆盖以下默认值。
    • limit:最多爬取的页面数。默认值:10。
    • max_discovery_depth:页面发现的最大深度。默认值:2。
    • ignore_sitemap:是否忽略 sitemap。默认值:True。
    • allow_external_links:是否允许爬取外部链接。默认值:False。
    • allow_subdomains:是否允许爬取子域。默认值:False。
    • delay:请求间隔 (毫秒) 。默认值:None。
    • scrape_options:应用于每个已爬取页面的选项。默认值:{"formats": ["markdown"], "only_main_content": True, "timeout": 10000}。

FirecrawlScrapeWebsiteTool

示例

按以下方式使用 FirecrawlScrapeWebsiteTool,使你的智能体能够加载网站:

参数

  • api_key:可选。指定 Firecrawl API 密钥。默认值为环境变量 FIRECRAWL_API_KEY。
  • config:可选。采用 snake_case 命名的抓取参数。传入 config 将覆盖以下默认值。
    • formats:输出格式,例如 "markdown"、"html"、"links",或用于结构化提取的 JSON 格式对象。默认值:["markdown"]。
    • only_main_content:仅返回页面主要内容,不包括页眉、导航栏、页脚等。默认值:True。
    • include_tags / exclude_tags:要包含或排除的 HTML 标签。默认值:[]。
    • max_age:若缓存版本的时长未超过该毫秒数,则返回缓存版本。默认值:172800000 (2 天) 。
    • wait_for:获取内容前的等待时间 (毫秒) 。默认值:0。
    • mobile:模拟移动设备。默认值:False。
    • timeout:请求超时时间 (毫秒) 。默认值:None。

Firecrawl 搜索工具

示例

按如下方式使用 Firecrawl 搜索工具,让你的智能体能够进行网页搜索:

参数

  • api_key:可选。指定 Firecrawl API 密钥。默认使用 FIRECRAWL_API_KEY 环境变量。
  • config:可选。采用 snake_case 命名的搜索参数。传入 config 后将替换以下默认值。
    • limit:返回的搜索结果数量上限。默认值:5。
    • tbs:按时间筛选搜索结果的过滤器,例如 "qdr:d" 表示过去一天。默认值:None。
    • location:搜索结果对应的位置。默认值:None。
    • timeout:请求超时时间 (毫秒) 。默认值:None。
    • scrape_options:抓取每个结果并返回其内容。默认值:{"formats": ["markdown"], "only_main_content": True}。省略此项则仅获取标题、URL 和描述。