こんにちは。ファンリピートの鳴海です。今回はAzure OpenAI Serviceを使ってデータを取り込む方法やそれぞれの料金プランについて説明できたらなと思います。
Azure OpenAI Serviceとは?

Microsoft社が提供するクラウドサービスであるAzureで、OpenAIのChatGPTのような自然処理言語(GPT-4、GPT-35-Turbo)や画像生成、音声認識の特徴的なAIモデルシリーズが含まれたAPIアクセスを提供する内容となっています。
Azure OpenAI Serviceのメリット
主にセキュリティと柔軟性です。
基本的に以下のような機能を備えているためリソースやセキュリティ管理に優れています。
- Azure Active Directoryを経由してマネージドIDを提供し、高度なセキュリティ機能
- プライベートネットワークや仮想ネットワークなどといった特定のアカウントでのアクセス、IPアドレスなどといった制限
OpenAIとAzure OpenAIの違い
主な違いは、セキュリティとエンタープライズ対応のレベルです。
OpenAIのAPIは常に最新で多機能ですが、セキュリティ機能は以下のような内容になっています。
- APIでのアクセスがBearer認証という認証方法
- リクエストした情報がAI学習データとして記録されてしまうため、顧客や社内情報などは使えない
といった基本的なものに限られています。特に、患者データや金融情報など、高度なセキュリティが求められるデータを扱う場合にネックな問題となります。
一方で、Azure OpenAI ServiceはMicrosoft Azureのクラウドプラットフォーム上で動作するため、Azureが提供する一連のセキュリティ機能を以下のようにフル活用できます。
- Azure Active Directoryを用いた認証
- データ暗号化
- プライベートネットワーク内での運用
などが可能です。これにより、例えば健康診断サービスが患者からの自由記述式のフィードバックを解析する場合でも、データの安全性を確保しつつ、高度な分析が可能になります。
活用事例
既にAzure OpenAI Serviceを使って以下のように活用している企業様がいるみたいです。
ベネッセグループの社内AIチャットサービス「Benesse GPT」

社内AIチャットサービス「Benesse GPT」を開始しました。
このサービスは、ベネッセグループの1.5万人の社員に向けて提供されています。主な目的は業務効率化と商品開発のAI検証です。
特にセキュリティ面に配慮がされており、外部に情報が漏洩しないように設計されています。これにより、ベネッセグループの社員は高セキュリティ環境でAIを活用できます。

SBテクノロジーの独自システム

Azure OpenAI Serviceと連携する独自システムを開発し、全従業員約1,000人が利用を開始しました。
このシステムは、Microsoft Teamsやお問い合わせ管理システムなどと連携し、業務効率化・生産性向上を推進します。また、社内で得られたノウハウをもとに、新たなサービス開発にも着手しています。

アサヒビールの社内情報検索システム

社内情報検索システムの試験運用を開始しました。
このシステムは、R&D部門の社員を対象に導入され、将来的にはグループ全体の情報を対象に広げる予定です。このシステムにより、効率的な検索による業務効率化を狙っています。

Azure playgroundでデータを取り込む方法
それでは実際にAzure OpenAIのPlaygroundでダミーのデータをAdd your dataというcsv、pdf、textのデータをモデルに読み込ませて、独自のデータで使う方法について説明したいと思います。
前提として、以下の準備ができていない場合はこちらを先に行ってから次に進んでください。
- Azureアカウント/サブスクリプションの作成
- Azure Open AIサービスを利用するためのMicrosoftへの申請
Azure OpenAI Studioでモデルをデプロイ
Azure OpenAI Studioを開きます。

サイドバーのDeploymentsを開きます。

Create new deploymentsをクリックします。

ポップアップが開かれるので、使用したいモデルを選択します。
モデルは下記の公式ドキュメントを参照して、選択してください。

Deployment nameでは任意の値を入力してください。

これでモデルのデプロイは完成しました。試しにチャットだけ行ってみたい場合はデプロイされたモデルをクリックします。

Open in Playgroundを押します。

赤枠の入力欄に入力をして、送信すると返答があります。

もしここでエラーが発生する場合は権限などの影響があると思うので、その設定をみてみてください。
ストレージアカウントの作成
次にアップロードするデータを格納するストレージ場所を作成する方法を説明します。
ホーム画面を開きます。

検索ボックスでAzure cosmos dbと検索し、合致したアプリを開きます。

作成を押します。

様々な種類がありますが、コア (SQL) – 推奨の作成ボタンを押下します。

リソースグループの選択、アカウント名、場所を任意の値で選択します。

入力が終わった際、次を押下します。

レビュー + 作成ボタンを押下し、検証が完了しました。と表示されたら、作成ボタンを押下してください。

下記のように画面が切り替わって、デプロイが成功すればOKです。

Azure Cognitive Searchの作成
対象のファイルをAzure Cognitive Searchで内容を先ほどデプロイしたモデルで参照するような昨日の設定方法を説明します。再度Azure portalを開きます。
ホーム画面を開きます。

検索ボックスでCongnitive searchと検索して、合致したアプリを開きます。

作成を押します。

リソースグループ、サービス名、場所の選択、内容に合わせて価格レベルの選択を行います。
※on your dataを使う際はStandardプラン以上でなければいけません!

確認および作成ボタンを押して、検証が完了したというトーストが表示後に作成ボタンを押してください。
デプロイが完了しました。という表示がされましたらOKです。

データの取り込み設定方法
それでは先ほどデプロイしたAzure OpenAIのモデルをPlaygroudで開き、Add your dataタブを開きます。

Add a data sourceを押します。

Upload filesを選択します。

赤枠の箇所で今回作成したアプリを選択し、Enter the index nameではアップロードする際のファイル名のようなものなので、任意で入力し、Nextボタンを押下します。

browse our fileに読み込みたいデータを添付し、Upload filesを押下して、Nextに進みます。(今回は下記のダミーの社内研修資料をデータとして読み込ませます。)

Search typeはSematicの方が精度良く上手く出力されやすいかわりに料金が高くなってしまうので、Keywordで今回は選択します。
下記で詳しく記載しております。


問題なければNextを押して、Save and closeで設定を完了しましょう。

データを取り込んで試してみよう
データの取り込みが完了しましたら、一度ドキュメントに記載している内容で送ってみましょう。

このように帰ってきたらOKです。
ここまでの設定で料金について気になる方がいると思います。下記で今回まとめていますので、ご覧いただければと思います。
それぞれの料金について
今回作成したAzure OpenAI、Azure Congnitive Search、ストレージアカウントについてそれぞれ計算ツールや概要、例について簡単に説明したいなと思います。
Azure OpenAI
月に約10,000リクエストを行い、各リクエストで平均500文字を処理する場合は月額約$20(推定)となるような計算となりますね。

Azure Cognitive Search
月に約1,000クエリを行い、インデックス数は5、ドキュメント数は10,000の場合だと月額約$50(推定)になるような計算となります。

ストレージアカウント
月に約100GBのデータを保存し、月に1,000回のデータ転送を行う場合は月額約$10(推定)となります。

まとめ
今回はAzure OpenAI Studioでデータの読み込ませ方や料金プランについて説明しました。これによって社内でのFAQチャットボットアプリのようなものが簡単に作成できますね。使用する際はコストに気をつけながら利用を心がけましょう。