Azure Functions は、クラウドでホストされるインテリジェント アプリケーションの構築を効率化するために、AI および Azure サービスと統合するサーバーレス コンピューティング リソースを提供します。 この記事では、関数アプリで使用できる AI 関連のシナリオ、統合、およびその他の AI リソースの幅について調査します。
次のシナリオでは、AI 対応エクスペリエンスで Azure Functions を使用することを検討してください。
| Scenario | 説明 |
|---|---|
| ツールと MCP サーバー | Functions を使用すると、リモート モデル コンテンツ プロトコル (MCP) サーバーを作成してホストし、さまざまな AI ツールを実装できます。 MCP サーバーは、リモート ツールを介した関数呼び出しを有効にする業界標準です。 |
| エージェント ワークフロー | Durable Functions は、フォールト トレランスが組み込まれた、実行時間の長いマルチステップのエージェント オペレーションを作成するのに役立ちます。 |
| 検索拡張生成 (RAG) | RAG システムでは、高速なデータ取得と処理が必要です。 関数は複数のデータ ソースと同時に対話でき、RAG シナリオで必要とされる迅速なスケールを提供できます。 |
この記事の詳細については、次のいずれかのシナリオを選択してください。
この記事は言語固有の記事なので、 ページの上部にあるプログラミング言語を選択してください。
ツールと MCP サーバー
AI モデルとエージェントは 、関数呼び出し を使用して 、ツールと呼ばれる外部リソースを要求します。 関数呼び出しにより、モデルとエージェントは、会話またはタスクのコンテキストに基づいて特定の機能を動的に呼び出すことができます。
関数は、要求を処理するために効率的にスケーリングされ、リモート Azure サービスとのエージェントの接続を簡略化する バインディング拡張機能 を提供するため、エージェントワークフローでの関数呼び出しの実装に特に適しています。 Functions で AI ツールを構築またはホストすると、サーバーレスの価格モデルとプラットフォームのセキュリティ機能も利用できます。
モデル コンテキスト プロトコル (MCP) は、リモート サーバーと対話するための業界標準です。 AI モデルとエージェントが外部システムと通信するための標準化された方法が提供されます。 MCP サーバーを使用すると、これらの AI クライアントは、外部システムのツールと機能を効率的に判断できます。
Azure Functions では現在、次の種類のツールを使用した関数コードの公開がサポートされています。
| ツールの種類 | 説明 |
|---|---|
| リモート MCP サーバー | カスタム MCP サーバーまたはホスト SDK ベースの MCP サーバーを作成します。 |
| キューベースの Azure Functions ツール | Azure AI Foundry には、メッセージ キューを使用した非同期関数呼び出しを可能にする特定の Azure Functions ツールが用意されています。 |
リモート MCP サーバー
Functions では、リモート MCP サーバーを作成およびホストするための次のオプションがサポートされています。
- MCP バインド拡張機能を使用して、他の関数アプリと同様に、カスタム MCP サーバーを作成してホストします。
- 公式の MCP SDK を使用して作成されたセルフホスト MCP サーバー。 このホスティング オプションは現在プレビュー段階です。
Functions によって提供されている現在の MCP サーバー ホスティング オプションの比較を次に示します。
| 特徴 | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| 現在のサポート レベル | GA | プレビュー* |
| プログラミング モデル | 関数のトリガーとバインド | Standard MCP SDK |
| ステートフル実行 | サポートされています | 現在、サポートされていません |
| 現在サポートされている言語 | C# (分離プロセス) Python TypeScript JavaScript Java |
C# (分離プロセス) Python TypeScript Java |
| その他の要件 | None | ストリーミング可能な HTTP トランスポート |
| 実装方法 | MCP バインド拡張機能 | カスタム ハンドラー |
*セルフホステッド MCP サーバーの構成の詳細は、プレビュー中に変更されます。
Functions での MCP サーバーのホストを開始するのに役立つオプションを次に示します。
| オプション | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| Documentation | MCP バインド拡張機能 | n/a |
| Samples | リモート カスタム MCP サーバー | Weather サーバー |
| テンプレート | HelloTool | n/a |
| オプション | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| Documentation | MCP バインド拡張機能 | n/a |
| Samples | リモート カスタム MCP サーバー | Weather サーバー |
| オプション | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| Documentation | MCP バインド拡張機能 | n/a |
| Samples | リモート カスタム MCP サーバー | Weather サーバー |
| オプション | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| Documentation | MCP バインド拡張機能 | n/a |
| Samples | まだ使用できません | n/a |
| オプション | MCP バインド拡張機能 | セルフホステッド MCP サーバー |
|---|---|---|
| Documentation | MCP バインド拡張機能 | n/a |
| Samples | まだ使用できません | まだ使用できません |
現在、PowerShell は、どちらの MCP サーバー ホスティング オプションでもサポートされていません。
キューベースの Azure Functions ツール
MCP サーバーに加えて、Azure Functions とキューベースの通信を使用して AI ツールを実装できます。 Azure AI Foundry には、メッセージ キューを使用して非同期関数呼び出しを有効にする Azure Functions 固有のツールが用意されています。 これらのツールを使用すると、AI エージェントはメッセージング パターンを使用してコードと対話します。
このツール アプローチは、次を必要とする AI Foundry シナリオに最適です。
- 信頼性の高いメッセージの配信と処理
- AI エージェントと関数の実行の切り離し
- 組み込みの再試行とエラー処理の機能
- 既存の Azure メッセージング インフラストラクチャとの統合
関数呼び出しシナリオの参照サンプルを次に示します。
Azure AI Foundry Agent Service クライアントを使用して、Azure Functions を使用して実装されたカスタム リモート MCP サーバーを呼び出します。
Azure AI SDK のエージェントの関数呼び出し機能を使用して、カスタム関数呼び出しを実装します。
エージェント ワークフロー
多くの場合、AI 主導のプロセスによって、モデルやその他の AI 資産と対話する方法が決まります。 ただし、一部のシナリオでは、より高いレベルの予測可能性または明確に定義された手順が必要です。 これらの指示されたエージェント ワークフローは、エージェントが従う必要がある個別のタスクまたは相互作用を調整します。
Durable Functions 拡張機能を使用すると、Functions の長所を活用して、フォールト トレランスが組み込まれた、実行時間の長い複数の操作を作成できます。 これらのワークフローは、指示されたエージェント ワークフローに適しています。 たとえば、旅行計画ソリューションでは、まずユーザーから要件を収集し、プラン オプションを検索し、ユーザーの承認を得て、最後に必要な予約を行います。 このシナリオでは、各ステップのエージェントを構築し、Durable Functions を使用してアクションをワークフローとして調整できます。
ワークフロー シナリオのその他のアイデアについては、「Durable Functions の アプリケーション パターン 」を参照してください。
検索拡張生成
Functions はさまざまなデータ ソースからの複数のイベントを同時に処理できるため、高速なデータ取得と処理を必要とする RAG システムなどのリアルタイム AI シナリオに効果的なソリューションです。 イベントドリブンの迅速なスケーリングにより、需要の高い状況でも顧客エクスペリエンスの待ち時間が短縮されます。
RAG ベースのシナリオのリファレンス サンプルを次に示します。
RAG の場合、Azure Open AI や Azure SDK を含む SDK を使用して、シナリオを構築できます。 ::: zone-end
OpenAI バインド拡張機能を使用してステートフル セッションで単純なプロンプトを発行し、テキスト入力候補を受信し、メッセージを送信するフレンドリ チャット ボットを作成する方法について説明します。
Azure Functions 用の AI ツールとフレームワーク
Functions を使用すると、好みの言語でアプリを構築し、お気に入りのライブラリを使用できます。 この柔軟性により、AI 対応関数アプリで幅広い AI ライブラリとフレームワークを使用できます。
注意する必要がある主要な Microsoft AI フレームワークを次に示します。
| フレームワーク/ライブラリ | 説明 |
|---|---|
| Agent Framework | AI エージェントとエージェント ワークフローを簡単に構築できます。 |
| Azure AI Foundry Agent Service | エンタープライズ レベルのセキュリティ、組み込みツール、Azure Functions とのシームレスな統合を使用して AI エージェントを構築、デプロイ、スケーリングするためのフル マネージド サービス。 |
| Azure AI Services SDK | クライアント SDK を直接操作することで、関数コードで Azure AI サービスのすべての機能を直接使用できます。 |
また、関数を使用すると、アプリでサードパーティのライブラリとフレームワークを参照できるため、AI 対応関数で好きな AI ツールとライブラリをすべて使用できます。