GitLab Duoを設定する
- 提供形態: GitLab Self-Managed
GitLab Duoは、ソフトウェア開発ライフサイクル全体を支援する、AIネイティブなアシスタントです。
GitLab Duoを構成して以下を使用できます:
- クラウドベースのAIゲートウェイ(デフォルト): ベンダーの言語モデルを備えた、GitLabがホストするAIゲートウェイを使用します。
- セルフホストモデル: 独自のAIゲートウェイと言語モデルを使用し、データとセキュリティを完全に管理できます。
- ハイブリッド構成: 一部の機能にはセルフホストモデル、その他の機能にはクラウドベースのモデルを使用します。
前提条件
- サイレントモードは無効になっています。
- お使いのインスタンスがアクティベーションコードで有効化されています。
- ライセンスキーは使用できません。
- オフラインライセンスではGitLab Duoを使用できません。GitLab Duo Self-Hostedは例外です。
コンポジットIDを有効にする (削除済み)
この機能はGitLab 18.9で削除されました。
GitLabインスタンスからGitLab Duoへの送信接続を許可する
- GitLabアプリケーションノードは、HTTP/2を使用して
https://duo-workflow-svc.runway.gitlab.netにあるGitLab Duo Workflowに接続する必要があります。アプリケーションとサービスはgRPCを使用して通信します。 - GitLab Duo Agent Platformの機能を使用するには、ファイアウォールとHTTP/Sプロキシサーバーにおいて、ポート
443経由でduo-workflow-svc.runway.gitlab.netを使用したhttps://への送信接続を許可し、HTTP/2トラフィックをサポートする必要があります。
クライアントからGitLabインスタンスへの受信接続を許可する
GitLabインスタンスは、IDEクライアントからの受信接続を許可する必要があります。
- 次のヘッダーを含むWebSocketプロトコルのアップグレードリクエストを許可します:
Connection: upgradeUpgrade: websocketHTTP/2プロトコルのサポート- 標準のWebSocketセキュリティヘッダー:
Sec-WebSocket-*
wss://(WebSocket Secure)プロトコルのサポートを有効にします。- 許可する特定のエンドポイントを追加します:
- プライマリエンドポイント:
wss://<customer-instance>/-/cable HTTP/2プロトコルがHTTP/1.1にダウングレードされないことを確認してください。- ポート:
443(HTTPS/WSS)
- プライマリエンドポイント:
問題が発生した場合:
wss://gitlab.example.com/-/cableやその他の.comドメインへのWebSocketトラフィックに制限がかかっていないか確認してください。- Apacheなどのリバースプロキシを使用している場合、ログにWebSocket connection to …. failuresのようなGitLab Duo Chat接続の問題が表示されることがあります。
この問題を解決するには、プロキシ設定を編集します:
# Enable WebSocket reverse Proxy
# Needs proxy_wstunnel enabled
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]Runnerからの接続を許可する
フローなど、Runnerを使用するGitLab Duo Agent Platformの機能では、RunnerがGitLabインスタンスに接続できる必要があります。
クライアントからGitLabインスタンスへの受信接続として許可されているものと同じ接続を、RunnerからGitLabインスタンスへの送信接続としても許可する必要があります。
加えて、Runnerは以下に接続できる必要があります:
| 宛先 | ポート | 目的 |
|---|---|---|
registry.npmjs.org | 443 | ランタイム時にDuoCLIパッケージをダウンロード |
registry.gitlab.com | 443 | デフォルトのDockerイメージをダウンロード (カスタムイメージを使用している場合を除く) |
組織がパブリックnpmレジストリへのアクセスを許可できない場合、必要な依存関係がすでにインストールされているカスタムDockerイメージを使用できます。
GitLabと利用状況データを共有する
サービス品質の向上に役立つよう、GitLab Duo Agent Platform機能に関する使用状況データをGitLabと共有できます。
データ収集を有効にすると、GitLabはGitLab Duo機能の利用状況に関する情報を記録します。このデータは、サービス改善およびデバッグのみに使用され、AIモデルのトレーニングには使用されません。
収集されるデータの詳細については、エージェントプラットフォームの利用状況データを参照してください。
前提条件:
- GitLab 18.9.1以降が必要です。
拡張ロギングを有効にするには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、GitLab Duoを選択します。
- 設定の変更を選択します。
- Collect usage dataチェックボックスを選択します。
- 変更を保存を選択します。
セルフホストモデルでのデータ利用
AIゲートウェイとセルフホストモデルをセルフホストで使用している場合、詳細なログはインフラストラクチャに保存され、GitLabと共有されません。GitLabとデータを共有するには、セルフホストのAIゲートウェイを構成して、外部の可観測性サービスにトレースを送信する必要があります。
Service Pingを使用して、利用状況データをGitLabに送信できます。このデータはテレメトリーデータとは異なります。
GitLab Duoのヘルスチェックを実行する
- ステータス: ベータ版
インスタンスがGitLab Duoを使用するための要件を満たしているかどうかを判断できます。ヘルスチェックが完了すると、合格または失敗の結果と問題の種類が表示されます。ヘルスチェックがテストに失敗した場合、ユーザーはインスタンスでGitLab Duo機能を使用できない可能性があります。
これはベータ版の機能です。
前提条件:
- 管理者である必要があります。
ヘルスチェックを実行するには:
- 右上隅で、管理者を選択します。
- 左側のサイドバーで、GitLab Duoを選択します。
- 右上隅で、ヘルスチェックを実行するを選択します。
- オプション。GitLab 17.5以降では、ヘルスチェックが完了した後、レポートのダウンロードを選択して、ヘルスチェック結果の詳細レポートを保存できます。
次のテストが実行されます:
| テスト | 説明 |
|---|---|
| AIゲートウェイ | GitLab Duo Self-Hostedモデルのみ。AIゲートウェイのURLが環境変数として設定されているかどうかをテストします。この接続は、AIゲートウェイを使用するセルフホストモデルのデプロイに必要です。 |
| ネットワーク | インスタンスがcustomers.gitlab.comおよびcloud.gitlab.comに接続できるかどうかをテストします。インスタンスがいずれかの宛先に接続できない場合は、ファイアウォールまたはプロキシサーバーの設定が接続を許可していることを確認してください。 |
| 同期 | サブスクリプションが次の条件を満たしているかどうかをテストします: - アクティベーションコードでアクティブ化されており、 customers.gitlab.comと同期できる。- 正しいアクセス認証情報を持っている。 - 最近同期されている。そうでない場合、またはアクセス認証情報がないか期限切れになっている場合は、サブスクリプションデータを手動で同期できます。 |
| コード提案 | GitLab Duo Self-Hostedモデルのみ。コード提案が利用可能かどうかをテストします: - ライセンスにコード提案機能へのアクセスが含まれている。 - この機能を使用するために必要な権限を持っている。 |
| GitLab Duo Agent Platform | バックエンドサービスが稼働中でアクセス可能かどうかをテストします。このサービスは、エージェントプラットフォームやGitLab Duo Agentic Chatなどのエージェント型機能に必要です。 |
| システム連携 | インスタンスでコード提案を使用できるかどうかをテストします。システム連携アセスメントが失敗した場合、ユーザーはGitLab Duo機能を使用できない可能性があります。 |
バージョン17.10より前のGitLabインスタンスで、ヘルスチェックに問題が発生した場合は、トラブルシューティングページを参照してください。
その他のホスティングオプション
デフォルトでは、GitLab DuoはサポートされているAIベンダーの言語モデルを使用し、GitLabがホストするクラウドベースのAIゲートウェイを介してデータを送信します。
独自の言語モデルまたはAIゲートウェイをホストしたい場合:
- GitLab Duo Self-Hostedを使用して、AIゲートウェイをホストし、サポートされている任意のセルフホストモデルを使用できます。このオプションを選択すると、データとセキュリティを完全に制御できます。
- ハイブリッド構成を使用します。この構成では、一部の機能については独自のAIゲートウェイとモデルをホストし、その他の機能についてはGitLabAIゲートウェイとベンダーモデルを使用するように構成します。