Azure OpenAI Service on your dataがパブリックプレビューになったので試してみた

Azure OpenAI Service に on your dataの機能がパブリックプレビューになりました！🎉

https://learn.microsoft.com/en-us/azure/cognitive-services/openai/concepts/use-your-data

これまで独自データを組み込むにはEmbeddingなどを使い開発してたりでしたが、
サクッと検証したい時や、社内でまずお試し！したい時など…爆速でモックアプリまでデプロイできるので、そんなときにも最高なんでは！？と個人的に思ってます🙂

という訳でまずはさくっと検証してみようと思います。

## 前準備
Azure OpenAIは準備できている前提で進めます。

他、以下のリソースをデプロイしておく必要があります。
- Azure Cognitive Services
こちらはユーザーの入力に基づいて取得するデータを決定する為に用いる用途です。

https://learn.microsoft.com/ja-jp/azure/search/search-what-is-azure-search

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/7611aac7-9a22-8c2f-554d-6cd736ceb776.png)

- Azure Blob Storage
こちらは独自データの格納用です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/d229da8b-7b8e-a4e7-584e-fb05923fd98c.png)
因みに以下のファイルタイプをサポートしているようです。
- .txt
- .md
- .html
- Microsoft Word files
- Microsoft PowerPoint files
- PDF

次にモデルをデプロイ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/f5354576-c56d-8bd7-53fa-21063d75dc58.png)

`Create new deployment`から`gpt-3.5-turbo (gpt-4でも)` をデプロイし準備完了！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/aa137cef-acfc-ef79-f4ba-c8c45e6f0823.png)

## 独自データを与えてみる
今回はこちらのQAデータを`.txt`形式で必要そうなQA箇所だけ抜き出して作っておきます。

https://linecorp.com/ja/csr/newslist/ja/2020/260

Add your dataから設定していく様です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/a27f8b24-6abb-4cf8-ea4d-feafccdba3dd.png)

`select data source`は`UploadFiles`を選択してみます。
他は先程作成したCognitive ServicesとBlob Storageを選択します。
※`Tyrn on CORS`でCORSをオンにしておきます。
`Enter the index name`は今回`index`と付けておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/124f0840-6f24-8f8a-d98c-8b169593d7ed.png)
後は、独自データファイルをアップロードするだけです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/1597c38b-2312-1a60-cbfc-e146445af156.png)

与えたデータからのみの回答にしたいので、System messageに`Please answer from the data given only. If you do not know, please answer "don't know".`と入れておきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/f629d2ed-16b3-e7e5-6fd0-d957b33325b9.png)

チャットしてみましたが、与えたファイルを情報源として回答しているようです。
ちゃんとラーメン屋は教えてくれません🍜
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/cf7c0943-0e44-e628-5148-9848e9289634.png)

また、今回の情報源は一つのファイルしか与えてないので、referencesは1つですがデータが複数あればreferencesは複数になるようですね！

最後に右上の`Deploy`ボタンを押してみます。わくわく✨
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/da69079b-8643-ffcb-4270-ac146e857b07.png)


しばらくすると新しくApp Serviceが出来上がりました！
アクセスすると、認証が走って…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2821082/aea3a443-ff80-fece-6ab6-29e0dea9d360.png)

https://github.com/microsoft/sample-app-aoai-chatGPT

こちらのサンプルアプリがデプロイされました！
先程と変わらずラーメン屋は教えてくれませんね。

いやースムーズだなあ。

## さいごに
まずはサクッとやってみたのですが、これはまた素晴らしい機能！！

社内でOpenAIを活用していきたい…どんな感じか試してみたいけど…
Azureわからない…わざわざエンジニアの工数を割くのもなあ…💦

なんて事が企画職の方にはあるんじゃないかなーって思ったりしてます。(しらんけど)

そんな時に気軽に試せそうですよね。

実運用をするには考えなきゃいけない事は諸々あると思いますが、企業の利活用がさらに促進しそうな感じです。
追って色々試していこうと思います！

:::note warn
Azureに作成したリソースは使い終わったら削除する事を忘れずに
:::

### 参考

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

https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search