Gemini Code Assist の機能であるコード カスタマイズを使用すると、組織のプライベート リポジトリに基づいて、組織のコーディング スタイルに合わせて Gemini Code Assist からコード候補を取得できます。
次の図に示すように、コード カスタマイズは、プライベート インデックスでコードを分析し保存して、Gemini Code Assist にプライベート リポジトリ内のコードへのアクセス権を付与します。
コードを記述するときに、Gemini Code Assist はプライベート インデックスで、記述しようとしているコードに類似するコードを検索します。次に、関連する一致をコード プロンプトに含め、これらの一致を Gemini Code Assist の推奨事項サービスに送信します。コード カスタマイズでは、コードベースのインデックスを 24 時間ごとに再作成して、コードの候補が常に最新の状態になるようにすることで、推奨事項を最新の状態に保ちます。Gemini Code Assist は、生成されたコードを返します。
コードベース全体の認識機能は、IDE の現在のフォルダ内のファイルと開いているタブの検索に限定されていますが、コード カスタマイズでは、インデックス内のすべてのリポジトリが検索されます。コード カスタマイズが設定されると、コード補完機能とコード生成機能の一部として機能します。
Gemini Code Assist とコード カスタマイズはどちらもマネージド サービスです。1 か月あたりのシートごとに使用量をライセンスします。
非公開コードのアクセスと保存を保護する
Google は、保存された非公開コードのセキュリティを次のような方法で提供しています。
- コードは、専用のシングルテナント環境にインデックス化され、保存されます。
- 管理アクセス制御を使用すると、Google 社員が理由や、必要に応じて明示的な承認なしでコンテンツにアクセスするのを防ぐことができます。
- Gemini モデルは、非公開のソースコードでトレーニングされません。
- 結果はお客様専用であり、他のお客様と共有されることはありません。
Google のセキュリティ対策の詳細については、Google セキュリティの概要をご覧ください。
データへのアクセスを管理する方法は次のとおりです。
- Identity and Access Management(IAM)権限を使用すると、コードベースからコード候補を取得できるユーザーを制御できます。
.aiexclude
ファイルを作成して、Gemini Code Assist がインデックスに登録する特定のリポジトリまたはリポジトリの一部を選択できます。
IDE でコード カスタマイズを構成して使用する方法については、Gemini Code Assist のコード カスタマイズを構成して使用するをご覧ください。
制限事項
- コード リポジトリのインデックスの数は、プロジェクトごとに 1 つ、組織ごとに 1 つに制限されています。
- インデックスに登録できるリポジトリの最大数は 20,000 です。
- コード リポジトリ インデックスあたりのリポジトリ グループの最大数は 500 です。
- リポジトリ グループあたりのリポジトリの最大数は 500 です。
- コード カスタマイズは、VS Code Gemini Code Assist 拡張機能(バージョン 2.18.0 以降)、IntelliJ Gemini Code Assist プラグイン(バージョン 1.1.0)、Cloud Workstations、Cloud Shell エディタでサポートされています。
- コード カスタマイズは、GitLab.com または GitHub.com でホストされているリポジトリのみをサポートしています。
- コード カスタマイズでは、GitHub Enterprise Cloud の IP 制限はサポートされていません。
- コード カスタマイズは、次のロケーション(リージョン)の Developer Connect 接続のみをサポートしています。
us-central1
europe-west1
asia-southeast1
コード カスタマイズでは、ドキュメント、メディア、その他のコード以外のファイルはインデックスに登録されません。また、コード カスタマイズは以下の言語のみをサポートしています。
- C、C++、C#
- Golang
- Java
- JavaScript
- Kotlin
- PHP
- Python
- Rust
- TypeScript
コード カスタマイズでは、その他のコーディング言語はインデックスに登録されず、使用もされません。コーディング言語のサポートをリクエストするには、このページの [フィードバックを送信] をクリックし、[サービスに関するフィードバック] を選択します。