Power Apps と GPT-4oでブランドガイドラインを遵守しているかチェックする


# はじめに

GPT-4o が登場して、皆さんが色々なアウトプットをしてくれています。そして、ありがたいことに、既に Power Platform 界隈でも、画像を解析する Power Apps アプリの作り方を紹介してくれております。とても感謝しています。

https://qiita.com/DEmodoriGatsuO/items/4c4734b78973970e0d3d

https://www.geekfujiwara.com/tech/powerplatform/4778/

これまで、私のブログ記事でも紹介してきた通り、Power Platform では OpenAI/Azure OpenAI の API と連携する独自のアプリやフローを簡単に作成することができます。

GPT-4 の魅力は多岐にわたりますが、個人的には画像解析の精度が非常に魅力的だと感じています。Power Platform で市民開発を行う方にとって、この画像解析能力を活用することで、市民開発で実現できる幅がさらに広がると感じています。

今回は、一例として、上記ブログ記事を参考に、画像がブランドガイドラインを遵守しているかチェックするアプリを紹介します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/88bc4a9f-0fcc-5671-670f-3051f76b3c0c.png)

# ブランドガイドラインを遵守しているかチェックするとは

会社のロゴや会社のサービスのロゴなどは自社のブランドであり、非常に重要と思います。
そのため、例えば、自社で、広報等で使用する際はもちろん、他社が使用する際、ブランドを損害されないようガイドラインを定めているケースも多いと思います。

例えば、Microsoft Power Platform のアイコンを使用する場合、以下のように、すべきこと、してはいけないことが定められております。

https://learn.microsoft.com/ja-jp/power-platform/guidance/icons

```
すべきこと

アイコンを使用して、製品の使用方法を説明する
図では、アイコンの近くに製品名を含めることをお勧めします
Microsoft Power Platform か、個別の製品 (Power Apps、Power Automate、Power BI、Power Pages、Power Virtual Agents、Dataverse、および AI Builder) で表示されるアイコンを使用する

してはいけないこと

アイコンを切り取ったり、裏返したり、回転させたりしない
アイコンの形を歪めたり変更したりしない
自身の製品またはサービスを表すために、Microsoft 製品のアイコンを使用しない

```

今回は、こちらのガイドラインを基に画像をチェックするアプリを作成してみます。

# 作成したアプリについて

基本的には、冒頭で紹介したブログと同じようにして作成できますので、細かい作成方法は省きたいと思います。

ポイントは、以下のようにして、複数の画像を同時にリクエストできる点です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/6775ae29-560f-583a-ea81-2389a3b80a3d.png)

そのため、あらかじめ、正しい製品のアイコンを Image コントロールに埋め込んで置き、非表示にして、こちらを渡すようにしておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/37bccf14-dea1-4bbf-241f-000a5bb9eda3.png)

そして、チェック対象のファイルは毎回画像の追加コントロールでアップロードするようにします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/822a1544-0c01-0cd9-9a57-60e931af0556.png)

あとは、ボタンを押した際にどちらの画像も渡してあげるだけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/1f48dbc2-2f59-55e9-d1fa-80123e4cd34f.png)

```
Set(
    output,
    'CallGPT-4o'.Run(
        TextInput1.Text,
        Substitute(
            JSON(
                Image2.Image,
                JSONFormat.IncludeBinaryData
            ),
            """",
            ""
        ),
          Substitute(
            JSON(
                UploadedImage1.Image,
                JSONFormat.IncludeBinaryData
            ),
            """",
            ""
        )
    ).result
)
```

動かしてみます。回転させているためガイドラインを遵守していないと判断されていますね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/82d2a222-b2f7-650c-4f19-75c92286c71e.png)

もちろん、こちらもガイドラインを遵守していないと判断されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/1407c1ae-c052-2f4a-ba2e-3134cfff1baa.png)

※テストのため意図的に画像を加工しました。マイクロソフトさんごめんなさい

こちらは同じ画像で試してみました。ガイドラインを遵守しているという回答ですね。素晴らしい精度です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3074511/3bafa135-a061-a2ea-12c9-d76b23feaf03.png)

全体的に良い感じに動いてくれていると思います。アウトプットの仕方については、必要に応じてプロンプトを変更すればよいかと思います。

なお、GPT-4o からの応答について、以下の部品を使って表示しています。

https://qiita.com/Takashi_Masumori/items/e9739e545bfc0c7c2c81

# まとめ

今回は、Power Apps と GPT-4 を使用してブランドガイドラインを遵守しているかどうかをチェックするアプリについて紹介しました。

複数の画像をリクエストに含めることも可能なため、このようなチェック業務にも活用できると思いますし、この画像解析能力を活用することで、市民開発で実現できる幅がさらに広がると感じています。

恐らく、現場で業務をされている方にとっても、さまざまな活用案が生まれてくると思いますし、本記事が何かの参考になれば幸いです。