1. システムとオフィスの融合
  2. media
  3. マイクロソフトソリューション AzureML Microsoft 365 Power Platform Power Automate Open AI
  4. 【Azure OpenAI】Power Automate クラウド フローで実装するOpenAI 外部API連携 ⑤(Power Automate実装例:tool実行)

QESブログ

【Azure OpenAI】Power Automate クラウド フローで実装するOpenAI 外部API連携 ⑤(Power Automate実装例:tool実行)

  • LINEで送る
  • このエントリーをはてなブックマークに追加

Azure OpenAI(AOAI)を用いる時、GPTで柔軟に外部APIと連携して情報を得たり操作を行いたいケースがあります。
この時、AOAIの関数呼び出し(toolsパラメータ)を用いて実装する事が考えられます。
本記事ではこれをPower Automate フローで実装する方法について全6回に分けて掲載します。
本ブログは第5回です。長い記事になりましたがお付き合いいただければ幸いです。

【掲載内容一覧】

No

内容

OpenAI toolsパラメータとは

基本構成

Power Automate実装例:初期設定

Power Automate実装例:AOAI

Power Automate実装例:tool実行

Power Automate実装例:回答




tool実行の全体像

tool実行周辺処理のイメージは下図の通りです。
指定されたfunctionを全て実行し、結果をmessages変数に追加します。
今回定義された関数はsearchWebのみですが、複数の関数が定義されている場合は条件の箇所が関数の数だけ存在することになります。

PowerAutomate-AOAI-Tools-image5-1.png




個別設定

作成 toolCalls

AOAIの回答からtool_callsの内容を取り出します。

PowerAutomate-AOAI-Tools-image5-2.png

Apply to each Toolループ

tool_calls配列をループ処理します。

PowerAutomate-AOAI-Tools-image5-3.png

作成 toolName

ループ値から関数名を取り出します。

PowerAutomate-AOAI-Tools-image5-4.png

作成 toolsId

ループ値から関数呼び出しのidを取り出します。
idはGPTが付与するもので、messagesに関数実行結果を追加する時にこの情報を付与します。

PowerAutomate-AOAI-Tools-image5-5.png


条件 searchWeb

関数名が「searchWeb」であるかを確認します。いいえの場合は何もしません。
はいの場合は後続処理を行います。

PowerAutomate-AOAI-Tools-image5-6.png

HTTP bingSearch

ループ値から検索ワードを取り出しbingSearchで検索を実行します。

PowerAutomate-AOAI-Tools-image5-7.png

配列変数に追加 messages


PowerAutomate-AOAI-Tools-image5-8.png

 tool_call_id :outputs('作成_toolsId')
 name :outputs('作成_toolName')
 content :body('HTTP_bingSearch')?['webPages']?['value']


今回のまとめ

今回はtool実行周りのフローについてまとめました。
関数実行結果はmessagesに追加され、メインループで再度AOAIに問い合わせを行います。
関数結果の情報を得たAOAIのGPTは次の関数を指定する事もあればユーザーへの回答を返す事もあります。
今回は関数がsearchWebのみなので不要に見える実装もありますが、toolsの関数構成が複雑化してもある程度柔軟に対応可能な構成にしています。
次回は回答処理についてまとめます。


QUICK E-Solutionsでは、「AIチャットボット構築サービス」をはじめとして、各AIサービスを利用したシステム導入のお手伝いをしております。それ以外でも QESでは様々なアプリケーションの開発・導入を行っております。提供するサービス・ソリューションにつきましては こちら に掲載しております。
システム開発・構築でお困りの問題や弊社が提供するサービス・ソリューションにご興味を抱かれましたら、是非一度 お問い合わせ ください。

※このブログで参照されている、Microsoft、Microsoft 365、Microsoft Copilot for Microsoft 365、Microsoft Teams、Azure OpenAI、その他のマイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。

  • LINEで送る
  • このエントリーをはてなブックマークに追加

お気軽にお問い合わせください。

ページのトップへ