Azure OpenAI を使って社内向けにChatGPTを作ってみよう!

目次
皆さんこんにちは。MS開発部の加藤です。
昨今ChatGPT、人工知能モデルが話題となっておりますが、 同時にデータ漏洩に関するニュースを目にする機会も多く、 「情報漏洩など、セキュリティ面が心配…」 や 「まずは利用者を限定したい…」などの懸念点から、 企業での利用が禁止されているケースも多々あります。 また同様に、弊社も業務におけるChatGPTの利用を禁止しています。
しかし、「できるだけ多くの社員にこうした新たなテクノロジーに触れていってもらいたい…」 という気持ちから、企業内で安全に利用できる方法はないかと調べてみたところ、 Azure内でOpenAIのモデルが利用できる「Azure OpenAI」がプレビュー解放されたため、 経験目的でさくっと社内展開してみたのでご紹介していきます!
【2023/06/27更新】 Azure OpenAIで作成したChatGPTについて、 より詳しい情報を記載した資料を無料で ダウンロードしていただけますので良ければご活用ください。

今回作成したChatGPTイメージ
Azure OpenAIについて
Azure OpenAIのメリットを、目的に合わせて要点のみご説明します。- OpenAI が開発した、GPT-3/Codex/Embeddings/ChatGPT (GPT-3.5)/GPT-4などのモデルをWeb APIとして利用可能。
- Azureの基準に則ってデータ閲覧が厳密に管理されており、提供されたデータが人工知能の改善のために使用されない。
- (Azure内のサービスなので)ロールベースのアクセス制御(RDBC)/プライベートネットワーク/CognitiveServiceとしてのSLA…等々。
※Azure OpenAIは、日々情報が新しくなっているため、 詳細については【公式】Azure OpenAI Serviceとは をご覧ください!
Azure 構成サービス
今回Azure上で構成したAD以外のサービスは下記になります。- Azure WebApps:フロント 単純な好奇心で今回はC# Blazor WASM
- ApplicationInsigts:WebAppsのログ
- Azure OpenAI:今回はモデルとしてGPT-3.5-Turboをデプロイ
Azure 構成 注意点
今回は経験目的で展開速度と低コストを重視しているので、下記となっております。- ユーザーのプロンプト入力の保存や履歴管理はCookieで制御
- ログはApplicationInsightsの標準のみ
- 仮想ネットワークやWeb Application Firewallも使わず、エンドポイントの制限もしない
利用開始~利用イメージ
弊社では利用者を限定すべく、Azureサービス以外にも Forms、Power Automate、365 セキュリティグループを利用しています。 利用開始~利用の流れは下記となります。- 【ユーザー】 Formsで利用申請
- 【自動化】 Power Automateで承認・否認
- 【自動化】 Power Automateで365 セキュリティグループに投入
- 【ユーザー】 Web Appsに接続 (Microsoft 365認証 + 365 セキュリティグループの入力チェック)
- 【ユーザー】 Web Apps でプロンプト実行 (Azure OpenAI 内にデプロイしたGPT-3.5-Turboモデルを呼び出し)

利用の流れイメージ
早速やってみよう!
と言っても…メインはAzure OpenAIで、特段難しい事はないので要点だけ記載していきます!Azure OpenAI
1.Microsoftに利用申請
申請フォーム ※承認には数週間かかる場合があります。
Azure OpenAI利用申請フォーム

(例)入力項目
2.Azure OpenAIサービスの立ち上げ (サブスクリプションやリソースグループは割愛します)
①基本 ※Azure OpenAIを作成する際に、対応しているリージョンと価格レベルは以下になります。 (2023/05/10現在)
リージョン

価格レベル

ネットワークの設定

概要
3. Azure OpenAI Studioにてモデルをデプロイ
Azure OpenAI Studioに移動したら「+新しいデプロイの作成」からモデルをデプロイしてください。
利用可能なベースモデル(2023/05/10現在)

デプロイ完了後画面
余談
Azure OpenAI Studioでは、ChatGPTプレイグラウンドを使って確認を行うことができます。
ChatGPTプレイグラウンド(プレビュー)

「Show raw JSON」選択時

「コードの表示」選択時
WebApps(C#/Blazor WASM)
こちらも最近は便利なもので、プロジェクト新設時に- 365認証を使いますか?→ yes/no
- GraphAPIを使いますか?→ yes/no

Blazor WebAssemblyアプリ

ソリューションの実行

自作のチャットウインドウページ
まとめ
割愛多めで恐縮ですが、いかがでしたでしょうか。私はAzure OpenAIの出現により、企業での活用の幅やチャンスが一気に広がったと感じています。 (ニュースを見ていても、「Azure OpenAIの利用を開始しました!」 「○○○ GPTを構築展開しました!」と日々目にしますね。) と同時に、GPT-4やMicrosoft Co-Pilot等々… AIの驚異的な進化スピードを体感し、エンジニアの端くれとして日々楽しくもあり、恐怖でもあります。
ぜひ皆さまもAzure OpenAIを利用したAIモデルの活用や、 カスタムAIモデルの育成にチャレンジしてみてください!
【2023/07/26更新】
Azure OpenAIで作成したChatGPTについて、
より詳しい情報を記載した資料を無料でダウンロードしていただけますので良ければご活用ください。
BizCopilot Powered By ChatGPT
BizCopilot Powered By ChatGPT(自治体様向け)
以上、最後までご愛読いただき
ありがとうございました。
お問い合わせは、
以下のフォームへご連絡ください。