メインコンテンツへスキップGitHub ベクター ストア ノードが GitHub リポジトリをベクトル化し、AI ワークフロー内でクエリできる検索可能なナレッジベースを作成する方法を学びます。
Giselle の GitHub ベクター ストア ノード
GitHub ベクター ストア ノードは、GitHub リポジトリの内容から強力で検索可能なデータベースを作成する特殊な「ソース」ノードです。リポジトリ内のコードと文書をベクトル化することで動作し、AI モデルがセマンティック検索を実行し、関連するコンテキストを取得できるようにします。
このプロセスでは、先進的な埋め込みモデルを使用してリポジトリのコンテンツをベクターエンベディングに変換します。OpenAI の text-embedding-3-small
や text-embedding-3-large
、Google の gemini-embedding-001
など、複数の埋め込みモデルから選択できます。これらのベクトル化されたデータは、Giselle の専用ベクター ストアに安全に保存されます。
この機能を使用するには、対象の GitHub リポジトリに Giselle GitHub App がインストールされている必要があります。
GitHub ベクター ストア ノードの設定:
-
ノードの追加:
- キャンバス下部のツールバーから、ソース アイコン(リンクシンボル付きフォルダー)をクリックします。
- ポップアップメニューから GitHub ベクター ストア を選択して、ノードをワークスペースに追加します。
-
リポジトリの設定:
- 最初に追加されたとき、ノードは「設定が必要」ステータスを表示します。
- ノードを選択して、右側の設定パネルを開きます。
- リポジトリを選択 ドロップダウンメニューをクリックします。このリストには、Giselle GitHub App がインストールされているリポジトリのみが表示されます。ナレッジソースとして使用したいリポジトリを選択します(例:
giselles-ai/docs
)。
-
コンテンツタイプの選択:
- リポジトリを選択した後、ベクトル化するコンテンツのタイプを指定する必要があります。利用可能なオプションは次のとおりです:
- コード: リポジトリのデフォルトブランチからソースコードと文書をベクトル化します。これは、コードベースからナレッジベースを作成するのに役立ちます。
- プルリクエスト: 説明、コメント、ディスカッションを含むプルリクエストのコンテンツをベクトル化します。これは、開発パターンの分析や変更の要約に最適です。
- 使用したいコンテンツに対応するラジオボタンを選択します。
-
設定の完了:
- リポジトリとコンテンツタイプが選択されると、キャンバス上のノードが更新されて設定されたリポジトリの名前が表示されます。このリポジトリのベクトル化プロセスがバックグラウンドで開始または更新されます。
ベクター ストアの管理
チームの設定ページから、GitHub ベクター ストア ノードによって処理される GitHub リポジトリを追加、設定、削除できます。
取り込むソース
新しいリポジトリを登録する際、取り込むコンテンツのタイプを選択できます。Giselle は現在2つのソースをサポートしています:
- コード: リポジトリからソースコードファイルを取り込みます。このソースは必須で、無効にできません。
- プルリクエスト: マージされたプルリクエストからコンテンツとディスカッションを取り込みます。これは、AI ワークフローに追加のコンテキストを提供するために有効にできるオプションのソースです。
埋め込みモデル
GitHub ベクター ストアを設定する際、リポジトリコンテンツのインデックス化に使用する埋め込みモデルを複数から選択できます。少なくとも1つの埋め込みモデルを選択する必要があります。利用可能なオプションには以下があります:
- OpenAI text-embedding-3-small: プロバイダー: OpenAI • 次元数: 1536 - ほとんどのユースケースに適した強力で効率的なモデルです。
- OpenAI text-embedding-3-large: プロバイダー: OpenAI • 次元数: 3072 - 複雑なセマンティック理解により高い精度を提供する大型モデルです。
- Google gemini-embedding-001: プロバイダー: Google • 次元数: 3072 - 代替のセマンティック表現機能を提供するGoogleの埋め込みモデルです。
埋め込みモデルの選択は、コンテンツのベクトル化方法に影響し、検索品質とパフォーマンスに影響を与える可能性があります。ベクター ストアに異なるセマンティック表現機能を活用するために、複数のモデルを選択することができます。
レート制限と考慮事項
GitHub ベクター ストア ノードを使用する際は、GitHub API のレート制限にご注意ください。Giselle の GitHub ベクター ストアは GitHub API アクセスに GitHub App Installation を使用しており、1時間あたり約5,000リクエストのレート制限があります。大規模プロジェクトで作業する際にエラーが発生する場合があります。この場合、しばらく待ってから再試行してください。
大規模なリポジトリや頻繁な更新では、ベクトル化プロセス中にレート制限が発生する場合があります。エラーが発生した場合は、レート制限ウィンドウがリセットされた後に待機して再試行してください。
ワークフローでの使用
GitHub ベクター ストア ノードは、クエリ ノード と組み合わせて使用するように設計されています。クエリ ノードが検索するナレッジベースとして機能します。
- 出力を接続: GitHub ベクター ストア ノードの「出力」をクエリ ノードの入力に接続する必要があります。
- 検索の実行: クエリ ノードは、ユーザーの質問や動的な入力を受け取り、ベクトル化されたリポジトリコンテンツから最も関連性の高い情報を検索し、その情報を後続のノード(ジェネレーター ノードなど)に渡して処理、分析、または要約を行うことができます。
ノードの出力
GitHub ベクター ストア ノードの出力は、選択されたリポジトリのベクトル化されたデータへの参照です。この出力は、クエリ ノードなどの他のノードがリポジトリのコンテンツにアクセスして検索するために必要な接続を提供します。