3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Copilot Studio でエージェントフロー作成: ニュース要約とメール送信

Posted at

Copilot Studio でAIに関連するニュースを検索、要約してメール送信してくれるエージェントフローを作ったので、その方法の紹介です。
こんなメールが毎日送信されます。
image.png

進化が激しい領域なので、画面などすぐに変わってしまうかもしれないのでご注意ください。

作成方法

0.前提

Power Platformの環境を事前作成。他にもしているかもしれませんが、記憶が曖昧です...

1. エージェントフロー作成

メニューの「フロー」から「+新しいエージェントフロー」ボタンをクリック
image.png

2. トリガー追加

日次で動かすためのトリガーを追加します。
「トリガーを追加する」をクリック
image.png

組み込みツール -> スケジュール を選択
image.png

繰り返し を選択
image.png

1日間隔で動かします。細かくは設定しません。
image.png

3. 各処理追加

3.1. ニュース検索

「繰り返し」の下の「+」アイコンをクリックします。以後、処理追加時には同じ方法です。
image.png

Brave Search(Independent Publisher) -> Search web for news を選択。以前も使ったことがある検索エンジンです。
以下のパラメータ。後で日本語翻訳するのでCountryをALLにして、Search Languageもenにしています。また、Freshnessのpdは直近1日のニュースという意味らしい(多分per day)。API Keyが必要だったので、取得しました。
image.png

3.2. 変数初期化

組み込みツール -> 変数 -> 変数を初期化する を追加
次でニュース検索結果の必要な内容を格納する変数です。
image.png

3.3. ループ

組み込みツール -> コントロール -> それぞれに適用する を追加
ニュース検索結果を示す Results をループさせます。
image.png

ループ内処理に 組み込みツール -> 変数 -> 配列変数に追加 を追加
Nameに前ステップで定義した変数のNewsListを選択し、Valueでメール内に使用するニュース検索結果一覧のタイトル、内容、URLを文字列結合させます。

3.4. プロンプト(LLM)実行

AI機能 -> プロンプトを実行する を追加
項目「プロンプト」で「+新しいカスタムプロンプト」を選択
image.png

プロンプトを定義します。
「+コンテンツを追加する」で変数を埋め込むことができます。今回は「news」という変数を埋め込んでいます。変数に何を設定するかは次画面で設定。
image.png

変数埋め込み画面。「サンプルデータ」にこの画面でLLMのテストをする際に使用される変数値を入れることができます。
image.png

モデルを選択します。今回はGPT-4oにしておきます。
image.png

「テスト」ボタンを押すと確認が可能。
image.png

保存して元の画面に戻ります。
プロンプトで定義した変数「News」に変数「NewsList」を使います(式を挿入 から 動的コンテンツタブで変数が選択可能)。
image.png

3.5. メール送信

Office 365 Outlook -> メールの送信(v2) を追加
宛先、件名、本文を入力
image.png

件名

日付を入れたかったので、式を使っています。

concat(
  'AI関連最新ニュース(',
  formatDateTime(
    convertTimeZone(utcNow(), 'UTC', 'Tokyo Standard Time'),
    'yyyy-MM-dd'
  ),
  ')'
)

本文

LLMにありがちなバックチックが使われるので除去しています。プロンプトで指示することもできますが、安定しないことも多いので、ここで除去。
あと、正確に使い方があっているわかっていませんが、「コードビューの切り替え」をしてHTMLが使えるようにしています。

replace(replace(outputs('プロンプトを実行する')?['body/responsev2/predictionOutput/text'], '```html', ''), '```', '')

3.6. 終了

組み込みツール -> コントロール -> 終了 を追加
StatusにSucceededを設定。なくても動きましたが、明示した方がいいと思い入れました。
image.png

4. 公開

概要タブから「編集」ボタンを押してフロー名を変えておきます。
image.png

デザイナータブで「下書きを保存する」の後、「公開」。警告が出ますが無視します。

テスト実行

「テスト」ボタンをクリック。
image.png

手動でテスト実行。
image.png

フローの実行。
image.png

実行結果がこんな感じで表示されます。
image.png

3
1
0

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
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?