次の方法で共有


Azure Functions で AI ツールとモデルを使用する

Azure Functions は、クラウドでホストされるインテリジェント アプリケーションを構築するプロセスを効率化するために、AI および Azure サービスと統合するサーバーレス コンピューティング リソースを提供します。 この記事では、関数アプリで使用できる AI 関連のシナリオ、統合、およびその他の AI リソースの幅について調査します。

AI 統合タスクのコンピューティング リソースとして Azure Functions を使用する固有の利点には、次のようなものがあります。

  • イベントドリブンの迅速なスケーリング: 必要に応じてコンピューティング リソースを使用できます。 特定のプランでは、アプリは不要なときにゼロにスケール バックされます。 詳細については、「 Azure Functions でのイベントドリブン スケーリング」を参照してください。
  • Azure OpenAI の組み込みサポート: OpenAI バインド拡張機能 により、エージェント、アシスタント、取得拡張生成 (RAG) ワークフローを操作するための Azure OpenAI との対話プロセスが大幅に簡略化されます。
  • 広範な言語とライブラリのサポート: 関数を使用すると、 任意のプログラミング言語を使用して AI と対話できます。さらに、さまざまな AI フレームワークとライブラリを使用できます。
  • オーケストレーション機能: 関数の実行は本質的にステートレスですが、 Durable Functions 拡張機能 を使用すると、AI エージェントに必要な複雑なワークフローの種類を作成できます。

この記事は言語固有の記事なので、 ページの上部にあるプログラミング言語を選択してください。

コア AI 統合シナリオ

組み込みのバインドと外部ライブラリの広範なサポートの組み合わせにより、AI の機能を使用してアプリとソリューションを拡張するためのさまざまな潜在的なシナリオが提供されます。 これらは、Functions でサポートされる主要な AI 統合シナリオです。

検索拡張生成

Functions はさまざまなデータ ソースからの複数のイベントを同時に処理できるため、高速なデータ取得と処理を必要とする RAG システムなどのリアルタイム AI シナリオに効果的なソリューションです。 イベントドリブンの迅速なスケーリングにより、需要の高い状況でも、顧客が経験する待機時間が短縮されます。

RAG ベースのシナリオのリファレンス サンプルを次に示します。

RAG の場合は、Azure Open AI や Azure SDK を含む SDK を使用して、シナリオを構築できます (ただし、これらに限定されません)。 このリファレンス サンプルでは、 OpenAI バインド拡張機能 を使用して、Azure AI Search で OpenAI RAG を強調表示します。

OpenAI バインド拡張機能を使用してステートフル セッションで単純なプロンプトを発行し、テキスト入力候補を受信し、メッセージを送信するフレンドリ チャット ボットを作成する方法について説明します。

アシスタント関数呼び出し

アシスタント関数呼び出しにより、AI アシスタントまたはエージェントは、会話またはタスクのコンテキストに基づいて特定の関数または API を動的に呼び出すことができます。 これらの動作により、アシスタントは外部システムとの対話、データの取得、その他のアクションの実行を行うことができます。

関数は、エージェント ワークフローでアシスタント関数呼び出しを実装するのに最適です。 バインド 拡張機能 は、需要に対応するために効率的にスケーリングするだけでなく、Functions を使用してアシスタントをリモート Azure サービスに接続するプロセスを簡略化します。 データ ソースにバインドがない場合、または SDK の動作を完全に制御する必要がある場合は、アプリで常に独自のクライアント SDK 接続を管理できます。

アシスタント関数呼び出しシナリオの参照サンプルを次に示します。

OpenAI バインド拡張機能を使用して、アシスタント スキル トリガーでカスタム関数を呼び出せるようにします。

Azure AI SDK のエージェントの関数呼び出し機能を使用して、カスタム関数呼び出しを実装します。

リモート MCP サーバー

モデル コンテキスト プロトコル (MCP) は、AI モデルが外部システムと通信するための標準化された方法を提供し、その機能と、AI アシスタントとエージェントが最適に使用する方法を決定します。 MCP サーバーを使用すると、AI モデル (クライアント) でこれらの決定をより効率的に行うことができます。

Functions には、Azure でカスタム MCP サーバーを作成するプロセスを簡略化する MCP バインド拡張機能が用意されています。

このようなカスタム MCP サーバー プロジェクトの例を次に示します。

MCP サーバー テンプレートといくつかの関数ツール エンドポイントを提供します。このエンドポイントはローカルで実行でき、Azure にもデプロイできます。

エージェント ワークフロー

AI 駆動型プロセスでは、モデルやその他の AI 資産と対話する方法を自律的に決定するのが一般的ですが、より高いレベルの事前性が必要な場合や、必要な手順が明確に定義されている場合が多いです。 これらの指示されたエージェント ワークフローは、エージェントが従う必要がある個別のタスクまたは相互作用のオーケストレーションで構成されます。

Durable Functions 拡張機能を使用すると、Functions の長所を活用して、フォールト トレランスが組み込まれた複数ステップの実行時間の長い操作を作成できます。 これらのワークフローは、指示されたエージェント ワークフローに最適です。 たとえば、旅行計画ソリューションでは、まずユーザーから要件を収集し、プラン オプションを検索し、ユーザーの承認を得て、最後に必要な予約を行います。 このシナリオでは、各ステップのエージェントを構築し、Durable Functions を使用してアクションをワークフローとして調整できます。

ワークフロー シナリオのその他のアイデアについては、「Durable Functions の アプリケーション パターン 」を参照してください。

AI ツールとフレームワーク

Functions を使用すると、好みの言語で、お気に入りのライブラリを使用してアプリを構築できるため、AI 対応関数アプリで使用できる AI ライブラリとフレームワークには、幅広い柔軟性があります。

注意する必要がある主要な Microsoft AI フレームワークの一部を次に示します。

フレームワーク/ライブラリ 説明
Azure AI Services SDK クライアント SDK を直接操作することで、関数コードで Azure AI サービスのすべての機能を直接使用できます。
OpenAI バインド拡張機能 Azure OpenAI の機能を関数に簡単に統合し、Functions がサービス統合を管理できるようにします。
セマンティック カーネル AI エージェントとモデルを簡単に構築できます。

関数を使用すると、アプリでサードパーティのライブラリとフレームワークを参照することもできます。つまり、AI 対応関数で、お気に入りの AI ツールとライブラリをすべて使用することもできます。