Power Platform × Azure OpenAI の価値


# はじめに

これまで本ブログで、Power Platform と Azure OpenAI の連携方法について沢山紹介してきました。


https://qiita.com/Takashi_Masumori/items/8a07fb6d1869967ce1f9

https://qiita.com/Takashi_Masumori/items/975ed38be5879e2ee5c8

https://qiita.com/Takashi_Masumori/items/173cb84a860b491f885b

https://qiita.com/Takashi_Masumori/items/410e7e92e6f93ec823c2

https://qiita.com/Takashi_Masumori/items/3ac1b28d4de539f9952a


基本的には、ChatGPT の Web アプリケーションと似たように、チャット形式で質問をして会話をするために、API の利用方法や会話形式にするための方法などを中心に紹介してきました。

今回は、もう少し踏み込んで、改めて、Power Platform と Azure OpenAI をかけ合わせることの価値について私の考えを整理してみたいと思います。

# 迅速な開発、修正が可能

まず、一つ目の価値は、これまでも触れてきたように、ローコードのため迅速な開発、修正が可能であることです。

ChatGPT が話題となり、「とにかく使ってみたい」、「早く仕事で利用したい」ということになり、早くリリースしようとした方も少なからずいるという認識です。

実際に、上記記事で紹介したような Power Apps や Power Virtual Agents ベースで Azure OpenAI の ChatGPT を利用する場合、１ 日で作成することも可能で、自社向けにカスタマイズすることも簡単です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/f9a1450c-3bd7-88f2-5434-969de137f180.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/dc6c82ec-1027-83f7-2447-49134fe07068.png)

そちらと比較すると、例えば、外部へ委託して Web アプリケーションを開発する場合、リリースまでに時間がかかってしまうケースがあると思います。

もちろん、一度開発して終わりではなく、利用の状況、ChatGPT 関連の新しい機能のリリース等に応じて、少なからずアップデートを加えて行くことになると思いますが、ローコードであれば、自分たちですぐに対応をすることが可能です。

そのため、この迅速に開発、修正できることは、Power Platform と Azure OpenAI をかけ合わせることの価値の一つと考えます。

# 生成 AI 技術の民主化

Power Platform と Azure OpenAI をかけ合わせることで生成 AI 技術を民主化することが可能と考えており、こちらが、この二つをかけ合わせる最大の価値と考えます。

まず、Power Platform 等のローコード/ノーコードサービスにより、今までより多くの人がアプリ、自動化フロー等を自らの手で開発出来るようになりました。つまり、**アプリ開発や自動化フローの開発が民主化されたと言えます。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/63ae6da0-50d3-d777-4b01-5134e24b1d38.png)

また、ChatGPT の登場を皮切りに、生成 AI 技術の民主化が始まっています。Webアプリケーションやローコードプラットフォーム、チャットボットなどを通じて ChatGPT を従業員の誰もが利用できるようにすることもその一つと考えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/4d895bb3-ae4f-9309-74bc-f19ebbf2cce8.png)

もちろんこれは素晴らしいことですが、生成 AI 技術の真の民主化とは言えないと私は考えます。その理由を具体的に説明します。例として、取引先からの問い合わせメールから必要な情報を CRM システムに転記するような業務があったとします。

ChatGPT は文章解析や分類に優れているため、適切なプロンプトを Web アプリケーションに入力すれば、必要な情報を抽出できる可能性は高いです。しかし、このプロセスを一気通貫で自動化する能力には限界があります。

一方で、業務担当者が ChatGPT の API を直接操作し、独自の自動化フローを設計することが可能ならば、この限界を克服できます。

要するに、生成 AI 技術の民主化にはいくつかのステップが存在すると考えます。**生成 AI 技術を業務の具体的なシナリオに応用し、個々の利用者が自らアプリケーションや自動化フローを設計できるようになること、これが真の意味での生成 AI 技術の民主化と考えます。**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/e02a4931-346e-220d-606c-cc2c710ba091.png)

難しく感じられるかもしれませんが、Power Platform と Azure OpenAI をかけ合わせることにより、上記のようなこと含め、生成 AI 技術の民主化が可能になると考えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/b5fcdb1c-4e97-18c9-5882-3b3f1c9c00fd.png)

それでは、次に、Power Platform と Azure OpenAI をかけ合わせることにより、どのような業務を効率化することが可能になるのか、アプローチ例を紹介します。

## アプローチ例

お客様からのメールでの問い合わせ内容を踏まえ、CRM システムなどの別システムにに転記する作業があるとします。**メールの本文は構造化されたデータではないため他システムとの連携がしにくい**という難点がありますが、こちらの業務を Power Platform と Azure OpenAI をかけ合わて自動化したいと思います。


以下の通り、特定の条件に合致したメール受信した際に Power Automate クラウドフローが起動し、他システムに連携したい情報を json 形式で抽出するよう Azure OpenAI の ChatGPT に API 連携、または、AI Builder を利用して依頼します。

作成するクラウドフローはかなりシンプルですが、こちらのフローにより、メール内容を他システムに転記するという作業の自動化が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/af50971a-7b43-5d55-3f7c-7e31d083c773.png)

:::note
ここで指示するプロンプトは、ChatGPT の Web アプリケーション等で試行錯誤を繰り返し、期待した回答が得れるよう精度を上げていきます。例えば、説明上少しプロンプトを短くしておりますが、入出力のサンプルを記載しても良いかもしれません。また、Output を json 形式で依頼していますが、どうしても、それ以外の文字が入ってしまうケースがある場合は、上述でも紹介した、Function Calling を利用するのが対策になると考えます。
:::

https://qiita.com/Takashi_Masumori/items/3ac1b28d4de539f9952a


:::note
Output を json という形式で指示することにより他システムとの連携が楽になります。必要に応じて、問い合わせの分類なども依頼することが可能です。他システム側であらかじめ分類の項目がある場合、例えば、以下のように、そちらの情報をプロンプトに含め、いずれかに分類くださいと依頼すると良いかと思います。

```
文章から情報を抽出して、以下の json フォーマットの
形式で返してください。また、"classification" について、以下の分類から最も適したものを選んでください。json 以外の返答は不要です。

# 文章
From: 田中 太郎 <tanaka@example.com>
Subject: 製品の設定方法について

お世話になっております、田中 太郎と申します。

先日、あなたの会社の製品を購入しましたが、設定方法について少々困っています。
マニュアルを見てもよくわからなかったので、詳しい設定手順を教えていただけますでしょうか。

何卒よろしくお願いいたします。

---
田中 太郎
tanaka@example.com

# json フォーマット
{
  "customer": {
    "name": "田中 太郎",
    "email": "tanaka@example.com"
  },
  "inquiry": {
    "type": "製品に関する問題",
    "content": "製品の設定方法について知りたいです。"
  },
  "date_received": "2023-09-03T12:34:56Z"
}

# 分類
製品サポート, 販売・価格, アカウント管理, 配送・返品, その他"

```

:::

上記はメールを起点とした例ですが、受信した pdf ファイルから文字を抽出し、その上で、プロンプトをベースに他システムと連携することや、Dataverse 等のデータベースに業務に特化したデータを蓄積し、そのデータを元に独自の回答を生成するなど、生成 AI 技術を民主化することにより可能性は大きく広がると考えます。

https://azure.microsoft.com/ja-jp/products/form-recognizer

https://learn.microsoft.com/ja-jp/ai-builder/flow-text-recognition

# まとめ

今回は、Power Platform と Azure OpenAI をかけ合わせることの価値について、私の考えを整理してみました。既に Power Platform を利用した市民開発者の育成が進んでおり、アプリ開発、自動化フロー開発が民主化されている場合、生成 AI 技術を民主化することでより大きな価値を生み出せる可能性があると考えます。

まずは、Power Platform × Azure OpenAI のアイディアソンやハッカソンの実施を検討するなど、本記事が、Power Platform と Azure OpenAI をかけ合わせて生成 AI 技術を民主化することの何らかの後押しになれば幸いです。