社内用 ChatGPT UI の構築手順書(BetterChatGPT)
目次
はじめにChatGPTをより安全に使うため必要技術ChatGPT UIシステムの概要手順書1. リポジトリをクローン2. APIの埋め込み3. アイコンの変更4. UI上にアイコンを表示5. いらない機能の削除5.1. 概要 & スポンサー , Jing Hua作, APIの削除5.2. ShareGPTの機能削除6. Cloud Run上で構築7. Cloud Load Balancingの設定7.1. Cloud Load Balancingの設定7.2. フロントエンドを構成7.3. バックエンドを構成7.4. 証明書のプロビジョニング状態を確認する8. IAPの設定ユーザーに対して IAP 経由のアクセスを許可する9. IAPがCloud Run サービスに対して認証できるようにする10. 確認まとめ参考
はじめに
BetterChatGPTのリポジトリをクローンする。
2. APIの埋め込み
- Artifact Registry にリポジトリを作成する
- [REPOSITORY_NAME]: 適切な名前
- クローンした リポジトリ内のDocker ファイルをイメージにビルドする
- [DIRECTORY_NAME]: 1. リポジトリのクローンで作成したディレクトリ名
- [PROJECT_ID]: GCPのPROJECT_ID
- [REPOSITORY_NAME]: 先ほど作成したリポジトリ名
- [IMAGE_NAME]: 適切な名前
- Artifact Registry の認証をする
- Artifact Registry のリポジトリにイメージをプッシュする
- [PROJECT_ID]: GCPのPROJECT_ID
- [REPOSITORY_NAME]: 先ほど作成したリポジトリ名
- [IMAGE_NAME]: 先ほど作成したIMAGE_NAME
- Cloud Run上で、ChatGPT UIを作成する
- [UI_NAME]: 適切な名前
ログイン管理をする必要のない場合は、--ingress=allに変更してください。
この変更を行えば、ChatGPT UIをすぐに利用できます。
- IPアドレスの確保
- [IPADDRESS_NAME]: 適切な名前
7. Cloud Load Balancingの設定
7.1. Cloud Load Balancingの設定
- ロードバランサの作成画面で HTTP(S) ロードバランシングを選択
- 次の画面ではインターネットから VM またはサーバーレス サービスへとグローバル HTTP(S) ロードバランサにチェック
7.2. フロントエンドを構成
- プロトコル 項目にHTTPS(HTTP/2 を含む)を選択
- 先ほど確保した IP アドレスを設定して、証明書を新規作成
- Google マネージドの証明書を作成するを選択し、ドメイン 1 項目 に今回使用するドメイン名を入力します。
7.3. バックエンドを構成
- バックエンドタイプ項目でサーバーレス ネットワーク エンドポイントグループを選択
- 新しいバックエンド 項目でサーバーレス ネットワーク エンドポイントグループを作成
- Cloud Runを選択し、始めに作成した Cloud Run サービスを選択
- サーバーレス ネットワーク エンドポイントグループを作成したらバックエンドサービスとして設定し、ロードバランサを作成
IAPを使う場合は、Cloud CDN オフにする
7.4. 証明書のプロビジョニング状態を確認する
- 作成されたロードバランサの詳細画面から、証明書のステータスを確認
- ロードバランサの作成からしばらく待つと、以下のように証明書のステータスが ACTIVE になる
8. IAPの設定
ロードバランサに対して IAP を設定し、組織内のユーザーのみがサービスにアクセスできるようにします。
以下のサイトを参考にIAPを設定します。
以下の部分はユーザーに対して IAP 経由のアクセスを許可するの項目の操作を行ってください。
- IAM によるアクセス制御の手順に沿って、IAP がトラフィックを Cloud Run バックエンド サービスに送信することを承認します。
- プリンシパル:
- ロール: Cloud Run 起動元
ユーザーに対して IAP 経由のアクセスを許可する
IAP 経由のアクセスができるように、サービスにアクセスする組織内ユーザーに対してIAP-secured Web App User ロールを設定します。
- IAPでプリンシパルを追加をクリック
- サービスにアクセスする組織内ユーザーに対してIAP-secured Web App User ロールを設定