GhatGPTに任意のドキュメントを読み込ませて回答を得る「Azure OpenAI Service On Your Data」

Azureの新サービス「**Azure OpenAI Service On Your Data**」のパブリックプレビューが発表されたので試してみました。

https://techcommunity.microsoft.com/t5/ai-cognitive-services-blog/introducing-azure-openai-service-on-your-data-in-public-preview/ba-p/3847000

## Azure OpenAI Service On Your Dataとは

簡単に言うと、自社の情報（例えば「社内規約」や「社内マニュアル」「自社製品の詳しい情報」）などをAzure OpenAI ServcieでChatGPTに読み込ませることができるようになる、らしいです。

従来では汎用の知識だけしか持たなかった（回答できなかった）ChatGPTが与えた情報を元に今までは答えられなかった質問にも回答できるようになったようです。

さらに、「Azure AI Studio」では、そのままチャットボットAIをWebアプリケーションとして公開する機能が備わっています。

これにより、ドキュメントやデータを読み込ませたチャットAIのサービスを簡単に公開できるようになります。

![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/3728c623-e702-3f26-6fa0-be8ee3fb5151.png)


読み込ませることのできるデータソースは以下

- Azure Cognitive Searchのインデックス
- Azure Blob Storageコンテナ
- ローカルファイル（対応フォーマットはtext、markdown、HTML、Word、PowerPoint、PDF）

それでは以下より実際にドキュメントを読み込ませてチャットAIを公開する手順を紹介します。

※ChatGPTに読み込ませる用のファイルは事前に準備しておいてください。


**作業時間の目安：30分～1時間**

### やること

今回は、読み込ませるデータソースに「Azure Blob Storageコンテナ」を使用します。

また、Azure Blob Storageコンテナだけでは足りないので「Azure Cognitive Search」も設定しておきます。

※Azure Cognitive Searchは無料プランと有料のプランがありますが、今回使用するのは有料のプランです。無料プランではリソースとして設定できないので注意してください。

## ストレージ アカウント（Azure Blob Storageコンテナ）の作成

※ここではストレージアカウント名やネットワーク設定は適当です。

※実際に運用する際にはセキュリティに配慮してください。

まずは読み込ませるデータソースとなるAzure Blob Storageコンテナを作成します。


![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/f0984562-fd23-58a4-f09f-0e6efec74879.png)

![Untitled (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/efe9da31-6e45-7ad0-a70f-4b1e580e38ae.png)



新しいコンテナを作成し、読み込ませるファイルをアップロードします。


![Untitled (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/36bcb521-df0a-e00b-cd83-79f83723e275.png)

![Untitled (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/fbc62b64-e779-8ad2-13e4-a43066ad57c3.png)

コンテナの設定は以上です。

## Azure Cognitive Searchの作成

※ここではサービス名やネットワーク設定は適当です。

※実際に運用する際にはセキュリティに配慮してください。

続いてAzure Cognitive Searchを作成します。

先程も書きましたが、Azure Cognitive Searchは無料プランと有料プランがありますが、今回使用するのは有料プランです。

無料プランではリソースとして設定できませんので価格レベル「基本（Basic）」を選択してください（ほっておくと課金され続けますので不要になったらリソースを削除してください）

![image (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/74804355-7b49-ea01-0cfe-5a19f48bc398.png)

![画像2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/ed4a4f0b-3f15-dff8-a29f-b9d3730d9b48.png)


Azure Cognitive Searchの設定は以上です。

下準備ができたのでOpne AI StudioにアクセスしてAzure OpenAI Service On Your Dataの設定を行っていきます。

## Azure OpenAI Studioの設定

Azure OpenAI Studio→プレイグラウンド→チャット　を開きます

アシスタントのセットアップの「**Add your data(preview)**」タブをクリックします。

続いて表示される「**Add a data source**」をクリック。

![Untitled.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/28ce525f-20a0-e8ed-57d0-4ab0ea3b1435.png)

![image (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/f02f9a0d-b243-45c2-86d8-41fa797312d9.png)


## 設定項目

- Select Data source
    - Azure Blob Storageを選択
- Select Azure Blob storage resource
    - 先程作成したstorage アカウントを選択
- Select storage container
    - 先程作成したコンテナを選択
- Select Azure Cognitive Search resource
    - 先程作成したAzure Cognitive Searchを選択
- Enter the index name
    - ここはよくからないので適当に設定しました
- 料金のかかる旨を承諾→チェック

「次へ」

![image (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/78a5d090-43e1-8eef-4856-d8bc94daf240.png)


設定がOKであれば「保存して閉じる」をクリックして保存します。

**Add your data(preview)** タブの表示が以下のように変わります。

![image (16).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/f6fd21ad-46eb-12c3-f6e0-fca2d758740e.png)


これで設定は完了です。

実際に読み込ませたデータを表示できるか実際に質問をしてみます。

左側の画像はデータを読み込ませる前の質問。右側の画像はデータを読み込ませた後の質問。

![image (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/399cb404-c0e0-167d-6a11-dd7c031e96eb.png)

![image (12).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/9fad3a00-ad4d-e151-ddce-0292d6843e80.png)


ちゃんと読み込んだデータを表示していますね！！

最後に、「Azure AI Studio」には、そのままチャットボットAIをWebアプリケーションとして公開する機能が備わっているのでそちらもご紹介しておきます。

画面右上に「Deploy to…」という表示があります。

こちらをクリックするとWebアプリケーションとしてワンクリックで公開することができます（自動でAppServcieを作成）

![image (13).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/fb52a2fb-d2f6-48f2-e245-f4167aaad36c.png)

![image (14).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/a35600af-861e-9d68-66b6-f05f9a45533b.png)


※AppServcieで公開しますので料金プランの確認は各自してください。

公開されると以下のようなページが自動で作成されます。

![image (15).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/18a352c4-05ea-4319-5e3b-cd5a030e1d42.png)

![image (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/934471/785254b0-b9df-cde9-c17a-a1e17bef52d7.png)


めっちゃ便利！

## 最後に

Azure OpenAI Service On Your Dataを使うと、これまでは追加学習させる場合にハードルとなっていた自然言語処理などの専門的なプログラミングが不要になり、簡単に幅広いニーズに対応したチャットAIの開発ができるようになります。

ぜひ皆さんも試してみてください。