Skip to main content

CrewAI で Firecrawl を使う

Firecrawl は、AI エージェントをオーケストレーションするフレームワークである CrewAI と統合されています。このページでは、フレームワークに追加された Firecrawl のツールをすべて紹介します。

CrewAI 内での Firecrawl Tools のインストール

ツール

FirecrawlCrawlWebsiteTool

エージェントがウェブサイトを読み込めるようにするには、次のように FirecrawlScrapeFromWebsiteTool を利用します:

引数

  • api_key: オプション。使用する Firecrawl の API キーを指定します。デフォルト値は FIRECRAWL_API_KEY 環境変数です。
  • url: クロールを開始するベース URL。
  • page_options: オプション。
    • onlyMainContent: オプション。ヘッダー、ナビゲーション、フッターなどを除いたページのメインコンテンツのみを返します。
    • includeHtml: オプション。ページの生の HTML コンテンツを含めます。レスポンス内に html キーが出力されます。
  • crawler_options: オプション。クロールの挙動を制御するためのオプション。
    • includes: オプション。クロールに含める URL パターン。
    • exclude: オプション。クロールから除外する URL パターン。
    • generateImgAltText: オプション。LLM を使用して画像の alt テキストを生成します(有料プランが必要です)。
    • returnOnlyUrls: オプション。true の場合、クロールステータスでは URL のみをリストとして返します。注意: レスポンスはドキュメントのリストではなく、data 内に URL のリストが入ります。
    • maxDepth: オプション。クロールする最大深度。深度 1 はベース URL、深度 2 はベース URL とその直下のページを含み、それ以降も同様に増えていきます。
    • mode: オプション。使用するクロールモード。Fast モードはサイトマップのない Web サイトでは 4 倍の速度でクロールできますが、精度が低くなる場合があり、JavaScript レンダリングが重い Web サイトには使用すべきではありません。
    • limit: オプション。クロールするページの最大数。
    • timeout: オプション。クロール処理のタイムアウト(ミリ秒)。

FirecrawlScrapeWebsiteツール

エージェントがウェブサイトを読み込めるようにするには、次のように FirecrawlScrapeWebsiteTool を使用します。

引数

  • api_key: オプション。Firecrawl の API キーを指定します。デフォルトでは FIRECRAWL_API_KEY 環境変数の値が使用されます。
  • url: スクレイピングする URL。
  • page_options: オプション。
    • onlyMainContent: オプション。ヘッダー、ナビゲーション、フッターなどを除き、ページのメインコンテンツのみを返します。
    • includeHtml: オプション。ページの生の HTML コンテンツを含めます。レスポンスには html キーが出力されます。
  • extractor_options: オプション。ページコンテンツから構造化情報を LLM ベースで抽出するためのオプション。
    • mode: 使用する抽出モード。現在サポートされているのは llm-extraction のみです。
    • extractionPrompt: オプション。ページからどの情報を抽出するかを記述するプロンプト。
    • extractionSchema: オプション。抽出されるデータのスキーマ。
  • timeout: オプション。リクエストのタイムアウト時間(ミリ秒単位)。

Firecrawl検索ツール

エージェントがウェブサイトを読み込めるようにするには、次のように FirecrawlSearchTool を使用します:

引数

  • api_key: 任意。使用する Firecrawl API キーを指定します。指定しない場合は、FIRECRAWL_API_KEY 環境変数がデフォルトとして使用されます。
  • query: 検索に使用される検索クエリ文字列です。
  • page_options: 任意。結果のフォーマットに関するオプション。
    • onlyMainContent: 任意。ヘッダー、ナビゲーション、フッターなどを除いた、ページのメインコンテンツのみを返します。
    • includeHtml: 任意。ページの生の HTML コンテンツを含めます。レスポンスには html キーが出力されます。
    • fetchPageContent: 任意。ページ全体のコンテンツを取得します。
  • search_options: 任意。クロール動作を制御するためのオプション。
    • limit: 任意。クロールするページ数の最大値です。