日本語版
最新ニュース
科学&テクノロジー

devflowinc/firecrawl-simple: ➖ 自己ホスティングとコントリビューションの容易さのために最適化された Firecrawl の必要最低限​​の安定したバージョン。課金ロジックと AI 機能は完全に削除されています。

Firecrawl Simple とは何ですか? Firecrawl Simple は、自己ホスティングと貢献の容易さのために最適化された Firecrawl の必要最小限の安定したバージョンです。課金ロジックと AI 機能は完全に削除されています。 playwright と置き換えられます puppeteer-cluster そして puppeteer-extraのステルスプラグインは、 fire-engine そして scrapingbee ガードされたページには必要ありません。さらに、 2キャプチャ 最大限のステルス性を実現するために、トークンとプロキシの資格情報を ENV として含めることができます。近い将来、目標は、 ヒーロー puppeteer-extra はメンテナンスされなくなったため v1のみ /scrape、 /crawl/{id}、 そして /crawl ルートは firecrawl simple でサポートされています。を参照してください。 openapiの仕様はこちら。また、 creditsUsed の…

devflowinc/firecrawl-simple: ➖ 自己ホスティングとコントリビューションの容易さのために最適化された Firecrawl の必要最低限​​の安定したバージョン。課金ロジックと AI 機能は完全に削除されています。

1730853254
2024-11-05 23:18:00

Firecrawl Simple とは何ですか?

Firecrawl Simple は、自己ホスティングと貢献の容易さのために最適化された Firecrawl の必要最小限の安定したバージョンです。課金ロジックと AI 機能は完全に削除されています。

playwright と置き換えられます puppeteer-cluster そして puppeteer-extraのステルスプラグインは、 fire-engine そして scrapingbee ガードされたページには必要ありません。さらに、 2キャプチャ 最大限のステルス性を実現するために、トークンとプロキシの資格情報を ENV として含めることができます。近い将来、目標は、 ヒーロー puppeteer-extra はメンテナンスされなくなったため

v1のみ /scrape/crawl/{id}、 そして /crawl ルートは firecrawl simple でサポートされています。を参照してください。 openapiの仕様はこちら。また、 creditsUsed の API レスポンスから削除されました /crawl/{id} ルート。

ポストホッグ、スーパーベース、ストライプ、ラングチェーン、ログスナッグ、セントリー、ブルボード、 package.json からの他のいくつかの dep が削除されます。

これは私たち自身で維持しなければならないことが多く、私たちは協力してくれる人を積極的に探しています。 有給のパートタイムのメンテナのポジションもあります。 現在、いくつかの問題に対して報奨金を用意していますが、長期的にアクティブなメンテナとして活動することに興味のある人を求めています。

上流の Firecrawl リポジトリ 次の宣伝文句が含まれています。

このリポジトリは開発中であり、カスタム モジュールをモノ リポジトリに統合しているところです。まだセルフホスト展開の準備が完全には整っていませんが、ローカルで実行できます。

Firecrawl の API サーフェスと一般的な機能は、当社にとって理想的でした。 Trieve サイトサーチ製品、しかし、Kubernetes 上でのコントリビュートとスケールが容易なセルフホスティングの準備ができているバージョンが必要でした。したがって、私たちはフォークして、必要なものを取り除いた安定したバージョンの保守を開始することにしました。

Firecrawl のアンチボット ページ ソリューションである Fire-engine は、クローズド ソースであることが、これを維持する必要がある最大の課題です。さらに、SaaS と AI の依存関係を必要としない私たちの目的は、私たちのユースケースを Firecrawl の現在の使命から大きく遠ざけているため、現時点ではアップストリームへのマージは実行可能ではないようです。

次のように、次のサービスを docker-compose に追加する必要があります。これらのサービスを実行するために Kubernetes またはその他のホスティング ソリューションを構成できると信じています。

name: firecrawl
services:
  # Firecrawl services
  playwright-service:
    image: trieve/puppeteer-service-ts:v0.0.6
    environment:
      - PORT=3000
      - PROXY_SERVER=${PROXY_SERVER}
      - PROXY_USERNAME=${PROXY_USERNAME}
      - PROXY_PASSWORD=${PROXY_PASSWORD}
      - BLOCK_MEDIA=${BLOCK_MEDIA}
      - MAX_CONCURRENCY=${MAX_CONCURRENCY}
      - TWOCAPTCHA_TOKEN=${TWOCAPTCHA_TOKEN}
    networks:
      - backend

  firecrawl-api:
    image: trieve/firecrawl:v0.0.46
    networks:
      - backend
    environment:
      - REDIS_URL=${FIRECRAWL_REDIS_URL:-redis://redis:6379}
      - REDIS_RATE_LIMIT_URL=${FIRECRAWL_REDIS_URL:-redis://redis:6379}
      - PLAYWRIGHT_MICROSERVICE_URL=${PLAYWRIGHT_MICROSERVICE_URL:-http://playwright-service:3000}
      - PORT=${PORT:-3002}
      - NUM_WORKERS_PER_QUEUE=${NUM_WORKERS_PER_QUEUE}
      - BULL_AUTH_KEY=${BULL_AUTH_KEY}
      - TEST_API_KEY=${TEST_API_KEY}
      - HOST=${HOST:-0.0.0.0}
      - SELF_HOSTED_WEBHOOK_URL=${SELF_HOSTED_WEBHOOK_URL}
      - LOGGING_LEVEL=${LOGGING_LEVEL}
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on:
      - playwright-service
    ports:
      - "3002:3002"
    command: ["pnpm", "run", "start:production"]

  firecrawl-worker:
    image: trieve/firecrawl:v0.0.46
    networks:
      - backend
    environment:
      - REDIS_URL=${FIRECRAWL_REDIS_URL:-redis://redis:6379}
      - REDIS_RATE_LIMIT_URL=${FIRECRAWL_REDIS_URL:-redis://redis:6379}
      - PLAYWRIGHT_MICROSERVICE_URL=${PLAYWRIGHT_MICROSERVICE_URL:-http://playwright-service:3000}
      - PORT=${PORT:-3002}
      - NUM_WORKERS_PER_QUEUE=${NUM_WORKERS_PER_QUEUE}
      - BULL_AUTH_KEY=${BULL_AUTH_KEY}
      - TEST_API_KEY=${TEST_API_KEY}
      - SCRAPING_BEE_API_KEY=${SCRAPING_BEE_API_KEY}
      - HOST=${HOST:-0.0.0.0}
      - SELF_HOSTED_WEBHOOK_URL=${SELF_HOSTED_WEBHOOK_URL}
      - LOGGING_LEVEL=${LOGGING_LEVEL}
    extra_hosts:
      - "host.docker.internal:host-gateway"
    depends_on:
      - playwright-service
      - firecrawl-api
    command: ["pnpm", "run", "workers"]

  redis:
    image: redis:alpine
    networks:
      - backend
    command: redis-server --bind 0.0.0.0

networks:
  backend:
    driver: bridge

プロキシには Oxylabs の環境値が推奨されており、必要に応じて 2captcha の設定も検討してください。

Firecrawl の単純な動作は次のとおりです。

  1. crawl エンドポイントは URL で開始され、リクエストに応じてページのサイトマップまたは HTML を取得します。
  2. サイトマップまたは HTML からの URL に一致するもの include そして exclude 条件が Redis キューに追加されます
  3. ワーカーはそれらの URL を選択し、 /scrape 上のエンドポイント playwright-service
  4. まだスクレイピングされておらず、一致する URL include そして exclude スクレイピングから受け取った HTML の条件が各ワーカーからキューに追加されます
  5. 新しいリンクが見つからなくなるか、リンクが見つからなくなるまで、手順 2 ~ 4 を続けます。 limit クロールで指定された値に達しました

スケーリングのボトルネックは次の順序で発生します。

  1. MAX_CONCURRENCY それぞれの (ヘッドレス人形遣いブラウザの数) playwright-service
  2. 実際の数 playwright-serviceロードバランサの背後にあるのは
  3. の数 firecrawl-workerを持っています (これがボトルネックである場合は非常にまれです)

URL およびアクセス可能なすべてのサブページをクロールするために使用されます。これにより、クロール ジョブが送信され、クロールのステータスを確認するためのジョブ ID が返されます。

your-url>/v1/crawl -H 'Content-Type: application/json' -H 'Authorization: Bearer fc-YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "limit": 100, "scrapeOptions": { "formats": ["markdown", "html"] } }'

クロールのステータスを確認するためのクロール ジョブ ID と URL を返します。

/v1/crawl/123-456-789″ }”>

{
  "success": true,
  "id": "123-456-789",
  "url": "https:///v1/crawl/123-456-789"
}

クロール ジョブのステータスを確認し、その結果を取得するために使用されます。

your-url>/v1/crawl/123-456-789 -H 'Content-Type: application/json' -H 'Authorization: Bearer YOUR_API_KEY'
…”, “metadata”: { “title”: “Groq Llama 3 を使用して「Web サイトとチャット」を構築する | Firecrawl”, ” language”: “en”, “sourceURL”: “https://docs.firecrawl.dev/learn/rag-llama3”, “description”: “Firecrawl、Groq Llama 3、Langchain の使用方法を学習します。 「Web サイトとチャット」ボットを構築します。”, “ogLocaleAlternate”: []”ステータスコード”: 200 } } ]}”>

{
  "status": "completed",
  "total": 36,
  "expiresAt": "2024-00-00T00:00:00.000Z",
  "data": [
    {
      "markdown": "[Firecrawl Docs home page![light logo](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...",
      "html": ""en" class="js-focus-visible lg:[--scroll-mt:9.5rem]" data-js-focus-visible="">...",
      "metadata": {
        "title": "Build a 'Chat with website' using Groq Llama 3 | Firecrawl",
        "language": "en",
        "sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3",
        "description": "Learn how to use Firecrawl, Groq Llama 3, and Langchain to build a 'Chat with your website' bot.",
        "ogLocaleAlternate": [],
        "statusCode": 200
      }
    }
  ]
}

URL をスクレイピングし、そのコンテンツを指定された形式で取得するために使用されます。

your-url>/v1/scrape -H 'Content-Type: application/json' -H 'Authorization: Bearer YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "formats" : ["markdown", "html"] }'

応答:

{
  "success": true,
  "data": {
    "markdown": "Launch Week I is here! [See our Day 2 Release 🚀](https://www.firecrawl.dev/blog/launch-week-i-day-2-doubled-rate-limits)[💥 Get 2 months free...",
    "html": ""en" class="light" style="color-scheme: light;">"__variable_36bd41 __variable_d7dc5d font-inter ...",
    "metadata": {
      "title": "Home - Firecrawl",
      "description": "Firecrawl crawls and converts any website into clean markdown.",
      "language": "en",
      "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",
      "statusCode": 200
    }
  }
}

#devflowincfirecrawlsimple #自己ホスティングとコントリビューションの容易さのために最適化された #Firecrawl #の必要最低限の安定したバージョン課金ロジックと #機能は完全に削除されています

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。