演習 - AI Builder および Power Automate での、GPT を使用したテキストの生成
この演習では、AI Builder でプロンプト モデルを用いた GPT によるテキストの作成を使用する Microsoft Power Automate フローを作成して、不動産の内見を要求するために顧客が送信するメールから情報を抽出します。 GPT によるテキストの作成モデルは、顧客の名前、表示する物件の住所、内見の日時が電子メールから抽出します。 次に、モデルは抽出された情報を含む Microsoft Teams チャネルにメッセージを送信します。
この抽出された情報を使用して、Dataverse テーブルにレコードを作成できます。 ただし、このラボではその作業は行いません。
自動化したクラウド フローを作成する
Power Automate にサインインします。
左側のペインで、作成 > 自動化したクラウド フロー を選択します。
フローに 不動産の内見の詳細情報の抽出 という名前を付けます。
すべてのトリガーを検索する ボックスに、
when an email arrives
と入力し、新しいメールが届いたとき (V3) トリガーを選択します。作成 を選択します。
新しいメールが届いたとき (V3) トリガーを選択し、[トリガーの詳細] ペインを開きます。
詳細パラメーターの すべて表示 を選択し、件名フィルター に
[Query]
と入力します。注
この手順により、メールの件名に「Query」という語が含まれている場合にのみフローが実行されます (このラボの目的のため)。
実際のシナリオでは、顧客からの問い合わせを処理する別のメール アドレスが用意されている場合があるので、件名でフィルター処理する必要はありません。
クラウド フローに GPT プロンプトを追加する
フロー トリガーの下で、アクションの追加 を選択し、続いて AI Builder を選択します。
アクションの一覧で、GPT でプロンプトを使用してテキストを作成する を選択します。
プロンプト を選択し、新しいカスタム プロンプト を選択します。
プロンプトに
Extract Real Estate Showing Details
という名前を付けます次のテキストを プロンプト ボックスに貼り付けます。
Extract "Name", "Address", "Date", and "Time" from the text below. When the text below has less than a couple of words, answer that you can't extract information. [Start of text] Good day, I hope this email finds you well. My name is <Your name>, and I am currently in the market for a new property. I came across your listing for the property located at 210 Pine Road, Portland, OR 97204, and am very interested in learning more about it. I would like to kindly request a viewing of this property on September 15th at 3:30 PM. I believe this time is within the normal hours for showings, but if there are any conflicts or alternate time suggestions, please let me know at your earliest convenience. [End of text]
前のプロンプトでは、GPT プロンプト (instruction および context) を作成するための基本的な式を使用します。プロンプトの最初の部分は instruction コンポーネントです。
Extract "Name", "Address", "Date", and "Time" from the text below. When the text below has less than a couple of words, answer that you can't extract information.
以下のテキストは式の context コンポーネントです。
[Start of text] context [End of text]
指示はモデルにそれが何をすべきかを説明し、 コンテキストはモデルがその指示に従う必要があるという情報。 自動化タスクでは、指示は固定形式で、動的コンテンツがコンテキストを提供します。このコンテキストを次のステップで更新します。
プロンプトのテスト を選択し、GPT によってテキストから正しい情報が抽出されるかどうかを確認します。
応答を準備する間の数秒が経過した後、GPT モデルは以下のサンプル プロンプトから関連情報を抽出できるようになります。
右側の プロンプト設定 で 入力 ドロップダウンを選択します。
+ 入力を追加する を選択し、BodyInput という名前を付けます。
プロンプト の
[Start of text]
と[End of text]
の間にあるサンプル メールを削除します。[Start of text]
と[End of text]
の間にカーソルを置いたまま、+ 挿入 ボタンを選択し、BodyInput を選択します。カスタム プロンプトを保存 を選択します。
これで、BodyInput という新しいフィールドが AI Builder アクションに表示されます。 このフィールドを選択し、メールの Body 動的コンテンツをトリガーから選択します。
メールが届くと、GPT はメールの本文から関連情報を抽出しようとします。
AI が生成したコンテンツは、事実に反しているもの、不適切なもの、または偏見を含んだものである可能性があります。 転記または他の場所で使用する前に、AI で生成されたテキストを使用するワークフローに、人間の監視を追加する方法を導入することを強くお勧めします。
次に、抽出された情報を人間が確認できるように承認ステップを追加します。
クラウド フローに承認ステップを追加する
アクションの追加 を選択し、承認 を検索して選択します。
アクションのリストで、開始してテキストの承認を待機 を選択します。
タイトル ボックスに
Review extracted information
と入力します。提案されたテキスト ボックスに、プロンプトを使用して GPT によるテキストを作成する アクションからの Text 動的コンテンツを追加します。
詳細モードに切り替える を選択し、割り当て先 ボックスに、このラボで使用するメール アドレスを入力します。
詳細 ボックスに、次のテキストを入力します。
Please review the extracted information and edit as necessary.
アクションの追加 を選択し、コントロール を検索して、条件を選択します。
値の選択 ボックスを選択し、動的コンテンツ から Outcome を選択します。
条件には 次の値に等しい を選択し、値の選択 に
Approve
と入力します。True ボックスで、アクションの追加 を選択します。 Microsoft Teams を検索し、チャットまたはチャネルにメッセージを投稿する を選択します。
注
Microsoft Teams への接続を作成するのにサインインする必要がある場合は、画面に表示される指示に従ってサインインします。
投稿者 ドロップダウン メニューから フロー ボット を選択し、投稿先 ドロップダウン メニューから フロー ボットとチャットをする を選択します。
詳細モードに切り替える を選択し、受信者 ボックスに、このラボで使用するメール アドレスを入力します。
メッセージ ボックスに、次のテキストを入力します。
Please add the following Real Estate Showing Request. Client Email:
クライアント メール の横にカーソルを合わせて、動的コンテンツを追加する を選択し、新しいメールが届いたとき アクションから From オプションを選択します。
クライアント メール 行の下で、開始してテキストの承認を待機 アクションからの Accepted text 動的コンテンツを選択します。
このステップにより、クライアント メールを含む Teams のダイレクト メッセージと、承認アクションからの承認されたテキストが送信され、Microsoft Power Apps からの Real Estate Showings アプリでレコードを作成するように通知されます。
抽出したエンティティを JSON オブジェクトに変換し、そのオブジェクトを使用して Real Estate Showings アプリおよび Dataverse テーブルでレコードを作成することで、レコード作成を自動化できます。 ただし、このラボではその作業は行いません。
いいえの場合ボックスにメールの送信アクションを追加して、内見の予約のために十分な情報が提供されていないことを送信者に通知できます。 ただし、そのアクションは自分の時間に追加できます。
ここでは、保存 を選択してフローを保存します。
フローのテスト
テスト > 手動 を選択し、続いて テスト を選択します。
任意のメール アドレスから、このラボで使用しているメール アドレス宛に、件名を
[Query] - New Booking Request
とし、次の内容を本文としたメールで送信します。Hello, I trust you're doing well. I'm John Doe and I'm actively searching for a new home. Your listing for the property at 789 Maple Avenue, Lexington, KY 40502 has caught my attention, and I'm eager to find out more. Could I arrange to see the property on September 29th at 1:45 PM? I think this falls within your usual showing times, but if that doesn't work for you or if you have other time options, I'd appreciate it if you could inform me as soon as possible.
Outlook を開きます。ここには、次のスクリーン ショットに示すように、抽出された情報を含む承認要求の後に自分自身に送信したメールが表示されています。
承認 を選択し、送信 して、Teams を開きます。 要求が承認されたら、次の画像に示すように、抽出された情報を含む flow ボットからメッセージが受信されます。
Power Automate フローに戻ると、フローが正常に実行されたというメッセージが表示されています。
画面の左上隅にある 戻る を選択します。 そうすると、不動産の内見の詳細情報の抽出 フローの詳細ページが表示されます。
Real Estate Solution へのフローの追加
左側のナビゲーション ウィンドウで、ソリューション を選択します。
Real Estate Solution を選択します。
上部にあるコマンド バーで、既存の追加 > 自動化 > クラウド フロー を選択します。
Dataverse の外部 タブを選択し、不動産の内見の詳細情報の抽出 フローを選択します。
追加 を選択します。