BLOG

Azure AI Foundryで会話型AIエージェントを作成する

Table of contents

はじめに

マイクロソフトのAzure AI Foundryは、インテリジェントアプリケーションの構築、デプロイ、管理のための統合プラットフォームを提供することで、AI開発を簡素化します。言語モデル、データ管理、デプロイツールを単一の環境に統合し、AI開発のハブとして機能します。開発者が高度なソリューションに必要とする柔軟性を維持しながら、AI開発の複雑さを抽象化します。

まず、基本的なチャット対話から始めて、大規模な言語モデルの基本的な会話機能を理解します。次に、特定のタスクを処理し、会話のコンテキストを維持し、外部データソースと統合するために特化したエージェントを作成できる、Azure AI Foundry Agent Serviceを探ります。

学習データのみに依存する基本的なエージェントを素早く作成する方法と、より正確な応答のための追加知識ソースを組み込んだ拡張バージョンを紹介します。最後に、スケーラブルでインテリジェントなソリューションのために、これらのエージェントをアプリケーションに直接統合する方法を示す、実用的なPythonコードの例を示します。

Azure AIファウンドリー・エコシステム
AIエージェント・コンポーネント

アジュールポータル

この例では、Azureポータルを使用して、Azure AI Foundryとエージェントサービスの標準的なセットアップを実行します。開始するための前提条件は、Azureサブスクリプションにアクセスした後、いくつかのパーミッションが必要なだけです。

  • Azureのサブスクリプションにアクセスすれば、無料で始めることができる。
  • 以下を確認してください。 Azure AI アカウント所有者およびAzure AI プロジェクト マネージャーのロールがサブスクリプション スコープにあることを確認します。
  • Azure AI Foundry標準セットアップを構成する場合は、必要なリソース(Cosmos DB、Azure AI Search、Azure Blob Storage)にロールを割り当てる権限があることを確認してください。Azure AI Foundry Agent Service に固有の RBAC ロールの詳細については、Azure AI Foundry Agent Service RBAC ロールを参照してください。必要な組み込みロールは、Role Based Access Administrator であり、次の主要な権限を提供します。 Microsoft.Authorization/roleAssignments/write
  • 登録漏れや未登録のプロバイダに関するエラーが発生した場合は、エラーメッセージに記載されているプロバイダを登録する必要があります。

プロジェクトと基本的なAIエージェントをデプロイする

このカスタムデプロイメントテンプレートを使用して、必要な Azure AI Foundry プロジェクトとエージェントをプロビジョニングします。

これにより、Azureポータルが起動し、Azure AI Foundryプロジェクトが作成され、独立した環境でAIのアイデアを素早く検討したり、プロトタイプを構築したりすることができます。

サブスクリプションとリソースグループを選択し、ロケーションを含むその他のフィールドに記入し、モデル関連のフィールドはすべてそのままにしておきます。これで、プロジェクトを作成し、GTP-4oモデルをデプロイするための詳細が示されます。

Review + create'ボタンをクリックしてテンプレートを配置します。完了まで数分かかります。

Azure AI Foundryリソースを作成するためのデプロイメントテンプレートフォーム

デプロイが完了したら「go to resource group」をクリックしてリソースを表示します。

配備されたプロジェクトを示すリソースグループ

プロジェクトのリンクをクリックすると、Azure AI Foundryポータルに移動できます。

プロジェクトへのリンク

Azure AI Foundryポータル

モデルとのチャット

Azure AI Foundryポータルにアクセスすると、プロジェクトのPlaygroundに直接移動しない場合は、メインページからプロジェクト名を選択し、Playgroundsを選択します。これにより、gpt-4oのデプロイが選択され、モデルとのチャットを開始することができます。いくつかのプロンプトを試してみてください。また、モデルの指示を変えてみたり、回答を特定のトピックに限定してみたり、データソースを追加してあなたのデータでモデルを補足してみたりしてみてください。

例えば、地震に関する答えだけを出すようにモデルに指示し、それからレシピを尋ねた。

サンプル・モデルの指示によるチャット・プレイグラウンド

チャットボットをウェブアプリとしてデプロイする

クールな機能のひとつは、シンプルなチャットボットをウェブアプリとしてデプロイすることだ。デプロイには数分かかり、リンクをクリックしてウェブアプリを開いて試すことができる。このようなものを本番環境で使えるようにするには、まだまだ至らない点がありますが、基本的なチャット・ウェブ・アプリをいかに簡単に作成できるかを示しています。

チャット・プレイグラウンド・インターフェースの上部にある'View code'ボタンの隣にある'Deploy as web app'を選択します。

チャットボットをウェブアプリとしてデプロイする

デプロイ後にウェブアプリを起動するには、「My assets/Web apps」にアクセスし、デプロイされたウェブアプリのリンクをクリックします。

ウェブアプリを起動する

チャットのプレイグラウンドでお気づきのように、私がモデルに指示を与えたとき、私はその答えを地震に関する質問だけに制限した。ウェブ・アプリのチャット・インターフェースで見ることができるように、モデルは私にジョークを言うことはできなかったが、地震の質問には答えた。しかし、このモデルは2023年10月までのデータでしかトレーニングされていないので、次のセクションでは、再トレーニングの必要なく、カスタム・データ・ソースでモデルを補足する方法を紹介します。

チャットボットWebアプリの例

エージェントを使ってモデルとチャット

シンプルなエージェントの作成

モデルとのチャットがどのように機能するかをよく理解したところで、この機能をラップしたエージェントで強化してみましょう。そして、カスタムデータソースでモデルの知識を補い、簡単なPythonの例でこのエージェントを呼び出します。

エージェント/新規エージェント」を選択し、新規エージェントを作成します。エージェント名と指示を入力します。指示は必須で、エージェントが何をすべきか具体的であるべきで、この場合、地震に関する質問にのみ回答できるエージェントになります。Deploymentはデフォルトのgpt-4oのままで構いませんし、TemperatureとTop Pもデフォルトのままで構いません。エージェントの設定変更は自動保存されます。

地震に関するチャットのためのエージェント設定

プレイグラウンドで試す」ボタンをクリックすると、以前モデルと直接チャットしたのと同じ方法でエージェントを試すことができます。

追加知識でエージェントを補う

Azure AI Foundryは、カスタムデータをAIアプリケーションやサービスに統合するための複数のオプションを提供しています。この記事の範囲を超えているが、より詳細な情報はこちらで入手できる。

簡単な例として、私のエージェントに地震に関するより多くの知識を提供するために、1つのPDFファイルをデータソースとして追加してみます。2025年のカムチャツカ半島地震に関するウィキペディアのページのPDFをダウンロードしましたので、それに沿ってエージェントで使用したい場合は、こちらからダウンロードしてください。

PDFファイルを入手したら、エージェント設定のナレッジの「+追加ボタン」をクリックし、「ファイル」を選択してファイルをアップロードします。デフォルトのままで新しいベクターストアを作成し、'Upload and save'を選択します。

代理店に地震に関する追加知識を補足するPDFファイルをアップロード

もう一度「Try in playground」ボタンをクリックすると、今度は2025年7月の地震について尋ねることができる。

データソース追加後のエージェントとのチャット

エージェントを呼び出すPythonの例

Azure AI Foundry で基本的な Agent がどのように動作するか理解できたところで、モデルのエンドポイントを直接叩く Python コードを試してみましょう。その前に、Overview ページから Azure AI Foundry プロジェクトのエンドポイントのコピーを取得し、Agent ページから Agent ID を取得します。

Azure AI Foundryプロジェクトのエンドポイントを示す概要ページ
エージェントIDを表示するエージェントページ

このソースコードをagent_earthquake_chat.pyというファイルにコピーしてください。これは単純で愚かなPythonの例で、決して本番向きではありません :)

ここでは、グローバルパッケージに依存することなく、孤立したPython環境でスクリプトを実行するためのステップバイステップの手順とコマンドを紹介します。

  1. ダウンロードしたソースコードと同じフォルダに、仮想Python環境を作成する:

2.環境を活性化する:



3.pip のアップグレード(推奨):



4.必要なAzureの依存関係をインストールします:



5.Azure AI Foundry Agentの環境変数を特定の値で設定します:

6.スクリプトを実行します:



Pythonによるチャットの例

Azureリソースのクリーンアップ

プロジェクトを作成し、チャット・プレイグラウンドとPythonのサンプルを使って数十のプロンプトを試してみた結果、私のコストは3ドル以下だった。

演習中に使用したすべての Azure リソースをクリーンアップするために、Azure は非常に簡単な方法を用意しています。Azure Portalに戻って、Resource groupsに移動し、この演習のために作成したリソースグループを選択し、「Delete resource group」を選択して削除します。

Azure ポータルでリソースグループを削除する

概要

私たちは、基本的なチャット対話から、外部の知識を統合した特殊なエージェントの構築へと進み、実際の実装のための実用的なPythonの例で締めくくりました。Azure AI Foundryは、AIの複雑さと開発者のアクセシビリティのギャップを効果的に埋め、技術的な複雑さに圧倒されることなく、洗練されたスケーラブルでインテリジェントなアプリケーションを構築するために必要なツールを提供します。ここで取り上げた以外にも、Azure AI Foundryで発見できることはたくさんあります。この機能の小さなサンプルが、Azureで素晴らしいAI対応アプリケーションを構築するために必要なガイダンスとモチベーションになることを願っています。

ジェネレーティブAIや機械学習、コスト最適化やインフラ自動化、セキュリティ強化やクラウドアーキテクチャ設計など、DoiT Internationalは複数のクラウド領域にわたって幅広い専門知識を提供しています。DoiTがどのようにAIの実装やクラウドインフラストラクチャの他の側面の近代化を支援できるかを調べるには、当社のクラウドエンジニアリングソリューションについて、ご遠慮なくお問い合わせください。

Schedule a call with our team

You will receive a calendar invite to the email address provided below for a 15-minute call with one of our team members to discuss your needs.

You will be presented with date and time options on the next step

Schedule a call with our team

You will receive a calendar invite to the email address provided below for a 15-minute call with one of our team members to discuss your needs.

You will be presented with date and time options on the next step