Azure AI AgentとAzure SQL Databaseの連携方法を解説

2025.03.21
Azure AI AgentとAzure SQL Databaseの連携方法を解説

はじめに

MS開発部の松坂です。

Azure AI AgentとAzure SQL Databaseを連携させることで、データベースから取得した情報を活用したインテリジェントなアプリケーションを構築することができます。本記事では、Pythonを使った具体的なコード例を示しながら、その手順を解説します。

前提条件

以下の準備が整っていることを確認してください:

  1. Azure SQL Database及びAzure AI Foundryが既に作成されていること。

  2. 実行環境でEntra ID認証が設定されていること。

  3. Pythonコードが実行できる環境であること。

 

ライブラリ

ソースコード解説

1. Azure SQL Databaseへの接続設定

まず、Azure SQL Databaseに接続するための設定を行います。

2. SQLクエリ実行関数

次に、SQLクエリを実行して結果を取得する関数を定義します。

ポイント解説

  1. 関数定義
    • pyodbc.connect()でデータベースに接続します。
  1. 接続処理:

    • pyodbc.connect()でデータベースに接続します。

    • 接続文字列には先ほど定義した変数を利用します。

  2. クエリ実行:

    • cursor.execute(query)でSQLクエリ(例: "SELECT TOP 10 * FROM SalesOrderDetail")を実行。

    • 結果はcursor.fetchall()で取得し、リスト形式で返却します。

  3. エラーハンドリング:

    • 接続やクエリ実行中にエラーが発生した場合は例外処理でキャッチし、適切なメッセージを返却します。

3. Azure AI Agentの作成

次に、Azure AI Agentを作成します。

 

ポイント解説

  • 認証:

    • DefaultAzureCredential()はAzure SDKで提供される認証方式で、環境変数やログイン情報から自動的に資格情報を取得します。

    • conn_strにはAzure AI Foundryの接続文字列を設定してください。
  • AIエージェントの作成:

    • create_agent()メソッドでAIエージェントを作成します。

    • モデルには「GPT-4o」などの適切なモデル名を指定します。

    • エージェントには「SQLデータベースを操作する」という指示(instructions)も与えます。

    • 先ほど作成した関数をToolSetに設定します。

4. チャットの送受信

最後に、メッセージの送信と最後のメッセージ表示処理をまとめます。

5. 結果

これらの処理をまとめて実行することで、DB名を指定しない、あいまいな内容のプロンプトでも、テーブルを特定して回答を得ることができました。

まとめ

本記事では、Azure AI AgentとAzure SQL Databaseの連携方法について、コード例と要所ごとの解説を行いました。この手順に従うことで、AIアプリケーションがデータベースと連携し、有益な情報提供が可能になります。また、SELECT文のようなデータ取得のほかにUPDATEやINSERTを実行するプロンプト指示も利用可能となります

以上、最後までご愛読いただき
ありがとうございました。

お問い合わせは、
以下のフォームへご連絡ください。

お問い合わせ

PAGETOP