Home
Login

ウェブサイトをクロールして知識ファイルを生成し、カスタムGPTアシスタントを迅速に作成できるオープンソースツール

ISCTypeScript 21.6kBuilderIO Last Updated: 2025-01-23

GPT-Crawler プロジェクト詳細

プロジェクト概要

GPT-Crawlerは、Builder.ioによって開発されたオープンソースプロジェクトで、指定されたウェブサイトをクロールして知識ファイルを生成し、カスタムGPTアシスタントを迅速に作成することを目的としています。このツールは、1つまたは複数のURLを提供するだけで、ウェブサイトのコンテンツを自動的に取得し、カスタムGPTのトレーニングに使用できるデータファイルを生成します。

コア機能

  • ウェブサイトコンテンツのクロール: 指定されたウェブサイトのコンテンツを自動的に取得
  • 知識ファイル生成: クロールされたコンテンツをGPTトレーニングに使用できる形式に変換
  • 柔軟な設定: クロールルール、ページセレクターなど、さまざまな設定オプションをサポート
  • 多様なデプロイメント方式: ローカル実行、コンテナ化デプロイメント、APIサーバーモードをサポート

インストールと使用

前提条件

  • Node.js >= 16

クイックスタート

git clone https://github.com/builderio/gpt-crawler
npm i

設定ファイル

config.tsファイルで、urlselector属性をニーズに合わせて編集します。

設定例:

export const defaultConfig: Config = {
  url: "https://www.builder.io/c/docs/developers",
  match: "https://www.builder.io/c/docs/**",
  selector: `.docs-builder-container`,
  maxPagesToCrawl: 50,
  outputFileName: "output.json",
};

設定オプション詳細

type Config = {
  /** クロールを開始するURL。sitemapが提供されている場合は、sitemapを使用してすべてのページをダウンロードします */
  url: string;
  /** 後続のクロールのために、ページ上のリンクを照合するために使用されるパターン */
  match: string;
  /** 内部テキストをスクレイピングするために使用されるセレクター */
  selector: string;
  /** この数を超えるページをクロールしないでください */
  maxPagesToCrawl: number;
  /** 完了したデータのファイル名 */
  outputFileName: string;
  /** オプションで除外するリソースタイプ */
  resourceExclusions?: string[];
  /** オプションの最大ファイルサイズ(メガバイト) */
  maxFileSize?: number;
  /** オプションの最大トークン数 */
  maxTokens?: number;
};

クローラーの実行

npm start

これにより、output.jsonファイルが生成されます。

デプロイメントオプション

コンテナ化デプロイメント

containerappディレクトリに移動し、config.tsを修正します。出力ファイルはdataフォルダに生成されます。

APIサーバーモード

npm run start:server
  • サーバーはデフォルトでポート3000で実行されます
  • /crawlエンドポイントを使用してPOSTリクエストを送信します
  • APIドキュメントは/api-docsエンドポイントで確認できます(Swaggerを使用)
  • .env.example.envとしてコピーして、環境変数をカスタマイズできます

OpenAIとの統合

カスタムGPTの作成(UIアクセス)

  1. https://chat.openai.com/にアクセスします
  2. 左下のユーザー名をクリックします
  3. メニューから "My GPTs" を選択します
  4. "Create a GPT" を選択します
  5. "Configure" を選択します
  6. "Knowledge" の下にある "Upload a file" を選択し、生成されたファイルをアップロードします

注意: カスタムGPTを作成および使用するには、有料のChatGPTプランが必要になる場合があります

アシスタントの作成(APIアクセス)

  1. https://platform.openai.com/assistantsにアクセスします
  2. "+ Create" をクリックします
  3. "upload" を選択し、生成されたファイルをアップロードします

技術特性

  • TypeScript開発: タイプセーフとより良い開発体験を提供
  • Express.jsサーバー: RESTful APIインターフェースを提供
  • Dockerサポート: コンテナ化デプロイメントを容易に
  • 柔軟なセレクター: CSSセレクターをサポートしてコンテンツを正確に特定
  • リソースフィルタリング: 画像、ビデオなどの不要なリソースタイプを除外可能
  • サイズ制御: ファイルサイズとトークン数の制限をサポート

実際の事例

プロジェクトの作者は、このツールを使用してBuilder.ioアシスタントを作成し、Builder.ioのドキュメントをクロールして、Builder.ioの使用方法と統合に関する質問に回答しています。

优势与应用场景

  • 迅速なデプロイメント: 数分でプロフェッショナルな知識アシスタントを作成可能
  • コスト効率: 既存のドキュメントに基づいてAIアシスタントを迅速に生成
  • 高いカスタマイズ性: 特定の分野または製品向けの知識ベースをサポート
  • 容易なメンテナンス: 定期的に再クロールして知識ベースを更新可能

注意事項

  • ターゲットウェブサイトをクロールする権限があることを確認してください
  • ファイルが大きすぎる場合は、分割してアップロードする必要がある場合があります
  • ウェブサイトのクロール頻度制限を考慮する必要があります
  • 最初に小規模なクロールをテストして、設定を検証することをお勧めします

まとめ

GPT-Crawlerは、プロフェッショナルなAIアシスタントを迅速に作成するための強力で柔軟なソリューションを提供します。特に、既存のドキュメントまたはウェブサイトのコンテンツに基づいてインテリジェントな質疑応答システムを作成する必要があるシナリオに適しています。