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

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

皆さんこんにちは。MS開発部の加藤です。

昨今ChatGPT、人工知能モデルが話題となっておりますが、
同時にデータ漏洩に関するニュースを目にする機会も多く、
「情報漏洩など、セキュリティ面が心配…」 や 「まずは利用者を限定したい…」などの懸念点から、
企業での利用が禁止されているケースも多々あります。
また同様に、弊社も業務におけるChatGPTの利用を禁止しています。

しかし、「できるだけ多くの社員にこうした新たなテクノロジーに触れていってもらいたい…」
という気持ちから、企業内で安全に利用できる方法はないかと調べてみたところ、
Azure内でOpenAIのモデルが利用できる「Azure OpenAI」がプレビュー解放されたため、
経験目的でさくっと社内展開してみたのでご紹介していきます!

【2023/06/27更新】
Azure OpenAIで作成したChatGPTについて、
より詳しい情報を記載した資料を無料で ダウンロードしていただけますので良ければご活用ください。

今回作成したChatGPTイメージ

Azure OpenAIについて

Azure OpenAIのメリットを、目的に合わせて要点のみご説明します。
  1. OpenAI が開発した、GPT-3/Codex/Embeddings/ChatGPT (GPT-3.5)/GPT-4などのモデルをWeb APIとして利用可能。
  2. Azureの基準に則ってデータ閲覧が厳密に管理されており、提供されたデータが人工知能の改善のために使用されない。
  3. (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をデプロイ
※GPT-4はMicrosoft プレビュー申請中で承認が間に合わず

Azure 構成 注意点

今回は経験目的で展開速度と低コストを重視しているので、下記となっております。
  • ユーザーのプロンプト入力の保存や履歴管理はCookieで制御
  • ログはApplicationInsightsの標準のみ
  • 仮想ネットワークやWeb Application Firewallも使わず、エンドポイントの制限もしない
※この辺りは各社様によって異なると思いますのでご注意ください!

利用開始~利用イメージ

弊社では利用者を限定すべく、Azureサービス以外にも
Forms、Power Automate、365 セキュリティグループを利用しています。
利用開始~利用の流れは下記となります。
  1. 【ユーザー】 Formsで利用申請
  2. 【自動化】 Power Automateで承認・否認
  3. 【自動化】 Power Automateで365 セキュリティグループに投入
  4. 【ユーザー】 Web Appsに接続
    (Microsoft 365認証 + 365 セキュリティグループの入力チェック)
  5. 【ユーザー】 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の作成が完了したら、概要からAzure OpenAI Studioに移動可能になります。

概要

これでAzure OpenAI StudioからChatGPTが使えるようになります!
※詳しくは【公式】Azure OpenAI Service を使用してテキストの生成を開始する をご確認ください。
3. Azure OpenAI Studioにてモデルをデプロイ
Azure OpenAI Studioに移動したら「+新しいデプロイの作成」からモデルをデプロイしてください。

利用可能なベースモデル(2023/05/10現在)

デプロイ完了後画面

※GPT-4.0は申請フォームから利用が必要です。承認には数週間かかる場合があります。
余談
Azure OpenAI Studioでは、ChatGPTプレイグラウンドを使って確認を行うことができます。

ChatGPTプレイグラウンド(プレビュー)

また、パラメーターを操作したり、
「コードの表示」「Show raw JSON」からコードを確認することも可能です。

「Show raw JSON」選択時

「コードの表示」選択時

以上となります!あとはこれらを使ってフロントエンドの開発を行っていきます!

WebApps(C#/Blazor WASM)

こちらも最近は便利なもので、プロジェクト新設時に
  • 365認証を使いますか?→ yes/no
  • GraphAPIを使いますか?→ yes/no
と聞かれる為、

Blazor WebAssemblyアプリ

ウィザードに従ってテンプレートから作成したソリューションを実行するとこの様な形になります。

ソリューションの実行

あとは自作のチャットウインドウページを追加して、
ボタン押下で前述のAzure OpenAIへリクエストを投げるだけで主機能としては完成します。

自作のチャットウインドウページ

尚、既にAzure OpenAI Studioでプロンプトが利用できる為、
先人のプロンプターに習ってRazorを書かせることでおおまかなデザインを作ることが可能です。

まとめ

割愛多めで恐縮ですが、いかがでしたでしょうか。

私は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(自治体様向け)

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP