Azure AI Agent Service の始め方

Azure AI Agent Service のサンプルデモをデプロイする

AI Agent に注目が集まっているが、Azure AI Agent Service によって Agent 作成の敷居が下がったようなので触ってみた。

Azure AI Agent Service とは?

Azure AI Agent Service は、Azure 上で提供される AI サービスの一種であり、AI Agent を利用するためのさまざまなツールや API を提供している。AI の導入・活用支援が目的であり、主な特徴は以下の通りである。

多様な AI モデルの利用が可能:OpenAI ははじめとする多様な AI モデルを提供している。

簡単な統合:Azureプラットフォームとシームレスに統合されており、他のAzureサービスと組み合わせて利用することが容易である。

セキュアな環境:Azure AI Agent Service にも高いセキュリティ基準を踏襲しており、データの保護やプライバシーの確保が重視されている。

Azure AI エージェント サービスとは

デプロイ方式

デプロイ方式は二つあり、それぞれ以下の公開情報からデプロイを進めることができる。

  • Basic セットアップでは、Microsoft がフルマネージドで検索リソース、ストレージリソースを作成するため、ユーザーはリソースを確認することや制御することはできない。自動で作成される AI Services から、モデルがデプロイされていることを確認できる。
  • Standard セットアップでは、リソースがユーザーにも確認できるようにデプロイを行うオプションである。

クイック スタート: 新しいエージェントを作成する

Basic

Standard

サンプルコードの検証

このサンプルでは Azure AI Agent Service で作成したリソースを利用し、AI Agent を作成するものである。 サンプルコードをデプロイするに際して、上記を参考に Basic Agent setup で Azure AI Agent Service を作成した。

自然言語を基に Python コードを実行する Code interpreter agent とプロンプトを基に Bing 検索を行う Bing search agent を構築する。

https://github.com/LazaUK/AIFoundry-AgentService-Streamlit

Bing search の準備

Bing search を利用するため、Azure Portal より Bing リソースをデプロイする。その際には、[Grounding with Bing Search] を選択し、上記で作成した AI Project などと同じリソースグループにデプロイする。

Bing 検索を使用したグラウンディング

bing_search

Bing Search を利用するためのキーをコピーしておく。

bing_search_key

Bing search への接続を構築するため、Azure AI Foundry の [管理センター] から [Connected resources] の [新しい接続] を選択する。

management_center

new_connection

[新しい接続] にて [API キー] を選択し、先ほど取得したキーを含めて以下の情報を入力する。 接続名に関しては、後ほど利用するためメモしておく。

モデルのデプロイ

なお、Bing search によるグラウンディングは特定のモデルでのみ可能であるため、既に作成されている AI Services にて、gpt-4o などをデプロイする。

Bing 検索を使用したグラウンディングは、次の Azure OpenAI モデルでのみ機能します: gpt-3.5-turbo-0125、gpt-4-0125-preview、gpt-4-turbo-2024-04-09、gpt-4o-0513

Bing 検索を使用したグラウンディング

model_deploy

アプリケーションのデプロイ

以下のリポジトリを clone しておき、必要なライブラリをインストールする。

1
2
3
git clone https://github.com/LazaUK/AIFoundry-AgentService-Streamlit.git
cd AIFoundry-AgentService-Streamlit
pip install -r requirements.txt

リポジトリ内の AgentService_Streamlit_v1.py を実行するため、変数を定義しておく。 以下から、プロジェクトの接続文字列を取得することができる。

constrings

AZURE_FOUNDRY_GPT_MODEL に関してはデプロイ名であり、AZURE_FOUNDRY_BING_SEARCH については、上記 [管理センター] で設定した接続名である。

1
2
3
export AZURE_FOUNDRY_PROJECT_CONNSTRING="PROJECT_CONNSTRING"
export AZURE_FOUNDRY_GPT_MODEL="gpt-4o"
export AZURE_FOUNDRY_BING_SEARCH="BING_CONNSTRING"

AgentService_Streamlit_v1.py にて、そのまま実行した際にエラーが生じたため、一部変更する必要あるかと思う。

1
2
3
4
5
変更前
last_message = thread.get_last_text_message_by_sender(sender)

変更後
last_message = thread.get_last_text_message_by_role(sender)

AgentService_Streamlit_v1.py を変更後に以下を実行することで、ローカルでアプリケーションの起動が確認できる。

1
streamlit run AgentService_Streamlit_v1.py

起動したアプリケーションにて code interpreter を選択することで、こちらの検証をすることができる。 自然言語に対応したコードが生成されて、実行結果が得られていることを確認した。

code_interpreter_result

Bing search を選択すると、こちらの機能を試すことができ、2024 年の情報を取得できていることを確認した。

bing_search_result

まとめ

Azure AI Agent Service を利用して、AI Agent を作成するサンプルを実施した。 Basic セットアップを利用することで、Agent を作成する上でのリソースに関しては、そこまで意識することなく構築できた。 これらのリソースへの接続に関しても、プロジェクトの接続を用いることで容易にできたので、効率的に Agent 開発が進みそうである。

Licensed under CC BY-NC-SA 4.0
Hugo で構築されています。
テーマ StackJimmy によって設計されています。