※これは以下のリポジトリをフォークしたものです。READMEに関しては、フォーク元のものを日本語訳しております。
https://github.com/builderio/gpt-crawler
GPTクローラーは、あるURLまたは複数のURLからデータを収集し、カスタムGPT(OpenAIの自然言語処理モデル)を作成するための知識ファイルを生成するためのツールです。
こちらはカスタムGPTです。Builder.ioのドキュメントにあるURLを提供するだけで、Builder.ioの使い方や統合方法についての質問に答えるのを速やかに手伝ってくれます。
このプロジェクトはドキュメントをクロールし、カスタムGPTに入力可能なファイルを出力します。
自分でも試してみましょう。サイトにBuilder.ioを統合する方法について質問してください。
この機能にアクセスするには有料のChatGPTプランが必要な場合があります。
Node.js >= 16がインストールされていることを確認してください。
git clone https://github.com/builderio/gpt-crawler
npm i
もしくは
npm install
config.ts を開いて、プロパティを変更してください。
例えば、カスタムGPTを作成するためにBuilder.ioのドキュメントをクロールするには、次のように設定を書きます。
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",
};
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
maxPagesToCrawl: 50,
outputFileName: "output.json",
waitTime: 1000,
onVisitPage: async ({ visitPageWaitTime }) => {
await new Promise(resolve => setTimeout(resolve, visitPageWaitTime ?? 1000));
},
userAgent: "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
};
利用可能なすべてのオプションについて説明します。
type Config = {
// クロールを開始するURL
url: string;
// このパターンに一致するリンクのみをクロール対象とする
match: string | string[];
// このセレクタで指定された要素からインナーテキストを取得する
selector: string;
// 最大でこの数のページをクロールする
maxPagesToCrawl: number;
// クロール結果を保存するファイル名
outputFileName: string;
// 必要に応じて設定されるクッキー
cookie?: { name: string; value: string };
// 各ページ訪問時に実行されるオプショナルな関数
onVisitPage?: (options: {
page: Page;
pushData: (data: any) => Promise<void>;
visitPageWaitTime?: number;
}) => Promise<void>;
// セレクタが表示されるまで待機するオプショナルなタイムアウト
waitForSelectorTimeout?: number;
// 使用するオプショナルなユーザーエージェント
userAgent?: string;
// 各ページの読み込み間のオプショナルな待ち時間
waitTime?: number;
};
npm start
もしくは
npm run start:cross-env
output.json
をコンテナ化された実行で得るには、containerapp
ディレクトリに移動します。上記と同じように config.ts
を修正し、data
フォルダに output.json
ファイルが生成されるはずです。注:containerapp
フォルダ内の config.ts
ファイルにある outputFileName
プロパティは、コンテナで動作するように設定されています。
クロールはこのプロジェクトのルートに output.json
というファイルを生成します。それをOpenAIにアップロードして、カスタムアシスタントやカスタムGPTを作成します。
生成された知識にUIでアクセスし、他の人と簡単に共有できるオプションを使用します
注:現在カスタムGPTを作成して使用するには、有料のChatGPTプランが必要な場合があります。
- https://chat.openai.com/ にアクセスします。
- 左下隅にあるあなたの名前をクリックします。
- メニューから「My GPTs」を選択します。
- 「Create a GPT」を選択します。
- 「Configure」を選択します。
- 「Knowledge」の下で「Upload a file」を選択し、生成したファイルをアップロードします。
生成した知識にAPIアクセスし、製品に統合できるこのオプションを使用します。
- https://platform.openai.com/assistants にアクセスします。
- "+ Create" をクリックします。
- "upload" を選択して、生成したファイルをアップロードします。
Know how to make this project better? Send a PR!
また、このリポジトリのフォーク元である、Builder.ioの開発者の方々に感謝します。