LoginSignup
0

posted at

Power Virtual AgentからOpenAIに考えてもらった文章でメールする

はじめに

以前Power Virtual Agents経由でOutlookでメールを送信しました。今回は発展としてOpenAIにメールの本文を考えてもらいます。

注意

前回まではM365に含まれる範囲でPower Virtual Agentsを活用していたのですが、今回の記事ではプレミアムコネクタを使用するため、Power Virtual Agentsのサブスクリプションが必要になります。機能比較はMicrosoftドキュメントをご参考ください

実際にやってみる

OpenAIのAPI Keyを取得する

OpenAIのAPI Keyが必要となりますので、OpenAIにログインし、API Keyを取得しておきます。Keyは絶対に他人に公開しないように保管しておく必要があります。
APIkey.png

ここでポイントは、フリートライアルで$18あるのですが2023/05/02時点で試したところカード登録なしで実行すると429(スロットリング)が発生しました。現状利用が制限されているようです。カード情報も登録すると回避できると思いますが、費用が発生するところなので利用規約を読むなど個人の責任でお願いします。

なおリミットを設定できるため設定しておくと安心です。
Limit.png

Power AutomateでOpenAIのAPIを呼び出す

作成したフローはこちらです。
openAI1.png
openAI2.png
openAI3.png

JSON for the schema definition

{
    "type": "object",
    "properties": {
        "text": {
            "type": "string"
        },
        "index": {
            "type": "integer"
        },
        "finish_reason": {
            "type": "string"
        }
    }
}

使いこなせていないのもあってやってることはシンプルで、Power Virtual Agentからもらった入力をプロンプトとしてDaVinciエンジンに投げ、返ってきた結果をまたPower Virtual Agentに渡しているだけです。

ポイントは、OpenAIのAPIからどんな形でアウトプットが入手できるか理解していないとその後のフローが書けない点です。
これは実際のOpenAIからのレスポンスを見ると話が早いのですが、choicesのtextに求めている本文がJSON形式で返ってきているのが分かります。
公式ドキュメントだともっと詳しく理解できます。
GPToutput.png

Power Virtual AgentにOpenAIのフローを組み込んで強化する

チャットの内容をメールの本文として送付するところまでは前回と同じなので省略します。今回はその本文を先ほどのOpenAIフローを使ってより高度にしました。自然言語で適当な作文命令をしてあげるとまあまあ良さげな文章で返してくれました。

PVA1.png
Outlook.png

まとめ

Power Virtual AgentsをインタフェースにOpenAIに作文をお願いし、Power Automateでその内容を踏まえてメールの送信をしてもらいました。セキュリティとかコンプライアンスのことは考えていないので業務利用などは注意する必要がありますが、ノーコード恐るべしです。とりあえず動かしてみたという感じなのでプロンプトやら使い道やら広げていきたいです。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0