Azure OpenAI Assistants を使用して Azure ロジック アプリを関数として呼び出す

Note

この機能は現在、Azure OpenAI Studio でのみ使用できます。

Azure Logic Apps は Azure の中の統合プラットフォームであり、ローコード ツールを使用してアプリケーションと自動化ワークフローを構築できるので、開発者の生産性を高めて市場投入までの時間を短縮することができます。 ビジュアル デザイナーを使用して、事前構築済みの多数のコネクタから選択できるので、アプリ、データ、サービス、システムを統合して管理するためのワークフローをすばやく構築できます。

Azure Logic Apps は Microsoft Azure によって完全に管理されているので、これらのサービスを使用して構築されたソリューションのホスティング、スケーリング、管理、監視、メンテナンスについて心配する必要はありません。 これらの機能をサーバーレスのアプリとソリューションの作成に利用すると、開発者はビジネス ロジックと機能に集中できます。 これらのサービスは、ニーズに合わせて自動的にスケーリングでき、自動化ワークフローをスピードアップできることに加えて、コードをほとんどまたはまったく使用せずに堅牢なクラウド アプリを構築するのに役立ちます。

Assistants プレイグラウンドを介した Azure Logic Apps での関数呼び出し

インテリジェントなアプリケーションの作成をさらに速く、さらにシンプルにするために、Azure OpenAI Assistants での関数呼び出しを通じて Logic Apps ワークフローの呼び出しができるようになりました。

Assistants プレイグラウンドによって、サブスクリプション内のワークフローのうち関数呼び出しの対象となるものすべてが列挙されて一覧表示されます。 これらのワークフローの要件を次に示します。

  • 従量課金ロジック アプリ: 現時点でサポートされるのは従量課金ワークフローのみです。
  • 要求トリガー: 関数呼び出しには REST ベースの API が必要です。 Logic Apps と要求トリガーの組み合わせによって REST エンドポイントが提供されます。 したがって、要求トリガーを持つワークフローのみが関数呼び出しの対象としてサポートされます。
  • スキーマ: 関数呼び出しに使用するワークフローには、入力と期待される出力を記述する JSON スキーマが必要です。 Logic Apps を使用すると、スキーマを合理化してトリガーの中で指定することができ、これが自動的に関数定義としてインポートされます。

上記の 3 つの要件を満たすワークフローが既にある場合は、そのワークフローを Azure OpenAI Studio の中で使用してユーザー プロンプトを介して呼び出すことができます。 既存のワークフローがない場合は、この記事の手順に従ってワークフローを作成してください。 主なステップは次の 2 つです。

  1. Azure portal でロジック アプリを作成します
  2. 作成した Logic Apps ワークフローを関数として Assistants プレイグラウンドでインポートします。

関数呼び出しの対象の Logic Apps ワークフローを作成する

関数呼び出しの対象の新しい Logic Apps ワークフローを作成する手順は次のとおりです。

  1. Azure portal の検索ボックスに「ロジック アプリ」と入力し、[ロジック アプリ] を選択します。

  2. [ロジック アプリ] ページのツール バーで [追加] を選択します。

  3. [ロジック アプリの作成] ページで、最初にロジック アプリ リソースの [プランの種類] を選択します。 そうすることで、そのプランの種類に対するオプションのみが表示されます。

  4. [プラン] セクションの [プランの種類] で [従量課金] を選択します。これで従量課金のロジック アプリ リソースの設定のみが表示されます。

  5. ロジック アプリ リソースの情報として、[サブスクリプション]、[リソース グループ]、[ロジック アプリ名]、[リージョン] を指定します。

  6. 準備ができたら、[確認および作成] を選択します。

  7. 検証ページが表示されたら、指定したすべての情報を確認し、[作成] を選びます。

  8. Azure によってロジック アプリ リソースが正常にデプロイされたら、[リソースに移動] を選択します。 または、Azure の検索ボックスに名前を入力して、自分のロジック アプリ リソースを見つけて選択します。

  9. Logic Apps ワークフローをデザイナーで開きます。 [開発ツール] と [ロジック アプリ デザイナー] を選択します。 これで、空のワークフローがデザイナーで開きます。 または、[空のロジック アプリ] をテンプレートから選択します。

  10. これで、ワークフローにもう 1 つステップを追加する準備ができました。 ワークフローは、常に 1 つのトリガーで開始されます。それにより、ワークフローで後続のアクションを実行する前に満たすべき条件が指定されます。

  11. このワークフローには、REST エンドポイントを生成するための "要求" トリガーと、このワークフローが呼び出されたときに Azure OpenAI Studio に応答を返すための応答アクションが必要です。

  12. トリガー ("要求") を追加します。

    [トリガーの追加] を選択してから、要求トリガーを検索します。 [HTTP 要求の受信時] 操作を選択します。

    Logic Apps デザイナーを表すスクリーンショット。

    要求の JSON スキーマを指定します。 スキーマがない場合は、スキーマを生成するオプションを使用します。

    JSON スキーマを指定するオプションを表すスクリーンショット。

    要求スキーマの例を次に示します。 ワークフローの説明をコメント ボックスに追加できます。 これは、関数の説明として Azure OpenAI Studio によってインポートされます。

    要求スキーマの例を表すスクリーンショット。

    ワークフローを保存します。 これでワークフローの REST エンドポイントが生成されます。

    REST エンドポイントを表すスクリーンショット。

  13. これで、ビジネス ユース ケースに応じて、このワークフローに 1 つ以上のステップ/アクションを追加できるようになりました。 この例では、"MSN Weather" というコネクタを使用して現在の場所の天気予報を取得します。

    MSN Weather コネクタを表すスクリーンショット。

    今日の予報を取得するというアクションで、場所というプロパティを使用していますが、これはこのワークフローに入力として渡されたものです。

    場所プロパティを表すスクリーンショット。

  14. 応答を構成します。 このワークフローは、応答を Azure OpenAI Studio に返す必要があります。 これは、"応答" アクションを使用して行われます。

    応答アクションを表すスクリーンショット。

    この応答アクションでは、任意の先行ステップからの出力を選択できます。 出力を特定の形式で返す必要がある場合に、JSON スキーマを指定することもできます。

    JSON スキーマを指定するためのコメント ボックスを表すスクリーンショット。

  15. ワークフローはこれで完成です。 Azure OpenAI Studio の中で、Assistants プレイグラウンドの関数の追加機能を使用してこの関数をインポートできます。

Logic Apps ワークフローを関数としてインポートする

Azure OpenAI Studio の Assistants プレイグラウンドで Logic Apps ワークフローを関数としてインポートする手順は次のとおりです。

  1. Azure OpenAI Studio で [Assistants] を選択します。 既存のアシスタントを選択するか、新規作成します。 アシスタントの名前と指示の構成が完了すると、関数を追加する準備が整います。 + [関数の追加] を選択します。

    [関数の追加] ボタンのあるアシスタント プレイグラウンドを表すスクリーンショット。

  2. [関数の追加] オプションを選択すると、2 つのタブのある画面が開きます。 Logic Apps のタブに移動して、要求トリガーのあるワークフローの一覧を表示します。 一覧からワークフローを選択して [保存] を選択します。

    Note

    この一覧には、要求トリガーのある従量課金 SKU ワークフローのみが表示されます。

    関数を追加するためのメニューを表すスクリーンショット。

これでワークフローのインポートが完了し、呼び出せる状態になりました。 関数の仕様は、ロジック アプリ ワークフロー swagger に基づいて生成され、要求トリガー アクション内で構成された内容に基づいてスキーマと説明が仕様の中に組み込まれます。

インポートされたワークフローを表すスクリーンショット。

このワークフローは、ユーザー プロンプトに基づいて Azure OpenAI Assistants によって呼び出されるようになりました。 次に示す例では、天気を知るためのユーザー プロンプトに基づいてこのワークフローが自動的に呼び出されています。

天気プロンプトの例を表すスクリーンショット。

呼び出しが行われたことは、ログやワークフローの実行履歴を見ると確認できます。

ログの例を表すスクリーンショット。

よく寄せられる質問

Logic App コネクタとは何ですか?

Azure Logic Apps には、SAP、Salesforce、Oracle、SQL を始めとする多数の基幹業務 (LOB) アプリケーションとデータベースへのコネクタがあります。 また、SaaS アプリケーションや、仮想ネットワークでホストされている社内アプリケーションに接続することもできます。 これらの既製コネクタは、複数の形式のデータを送受信する操作を行います。 このような機能を Azure OpenAI アシスタントと共に利用すると、Azure OpenAI を利用した Intelligent Insights のためのデータを簡単に取り込めるようになります。

ロジック アプリが Azure OpenAI Studio でインポートされて呼び出されるときは、何が行われるのですか?

Logic Apps swagger ファイルを使用して、関数定義の内容が作成されます。 Azure Logic App は、要求トリガーを持つワークフローの OpenAPI 2.0 定義 (swagger) を、ワークフロー上の注釈に基づいて発行します。 ユーザーは、ワークフローを更新するという方法で、この swagger の内容に変更を加えることができます。 Azure OpenAI Studio はこれを使用して、アシスタントに必要な関数定義を生成します。

Azure OpenAI Studio から Logic Apps への認証はどのようなしくみですか?

Logic Apps では、要求トリガーを呼び出すための認証の種類として主に次の 2 つがサポートされています。

  • Shared Access Signature (SAS) ベースの認証。

    ユーザーは、SAS が含まれているコールバック URL を、リスト コールバック URL API を使用して取得できます。 Logic Apps では複数キーの使用もサポートされており、必要に応じてキーをローテーションすることもできます。 Logic Apps では、有効期間を指定した SAS URL の作成もサポートされています。 詳細については、Logic Apps のドキュメントを参照してください。

  • Microsoft Entra ID ベースの OAuth ベース認証ポリシー。

    Logic Apps では、Microsoft Entra ID OAuth による認証トリガー呼び出しもサポートされており、OAuth トークンの検証に使用する認証ポリシーを指定できます。 詳細については、Logic Apps のドキュメントを参照してください。

Azure OpenAI Assistants による関数呼び出しの中でロジック アプリの呼び出しが必要であるときは、ワークフローを呼び出すために Azure OpenAI Studio が SAS 付きのコールバック URL を取得します。

関連項目