構造化出力と関数呼び出しで Azure OpenAI を業務システムにつなぐ

自由文の問い合わせから JSON スキーマどおりのデータを取り出す「構造化出力」と、モデルに社内 API を呼ばせる「関数呼び出し(ツール)」を Python で実装します。生成 AI を既存システムに組み込む要の技術です。

中級約 60 分Azure 実環境

ラボ概要

このラボでは、社内ヘルプデスクに届く自由文の問い合わせを「チケット」として起票し、必要なら在庫や勤怠の社内 API を呼んで答える、という業務フローを Azure OpenAI で実装します。文章生成ではなく「データを取り出す」「システムを動かす」用途に生成 AI を使う練習です。

学習目標:

  • Azure OpenAI リソースと小型モデルのデプロイ chat を用意する
  • JSON スキーマを指定した構造化出力(response_format)で、問い合わせ文から部署・緊急度・カテゴリを抽出する
  • 関数呼び出し(tools)で、モデルに「どの社内関数をどんな引数で呼ぶべきか」を判断させる
  • 関数の実行結果をモデルに返して最終回答を生成する 2 段階の流れを実装する
  • スキーマの strict 指定と、モデルが関数を呼ばない場合の分岐を理解する
前提知識:
  • Python の基本(関数・辞書・JSON)
  • 「Cloud Shell の Python から Azure OpenAI を呼び出す」ラボ相当の経験
完了条件:
  • Azure OpenAI リソースと、名前に mini を含むデプロイ chat が存在すること
  • 構造化出力のスクリプトがスキーマどおりの JSON を返し、関数呼び出しのスクリプトが社内関数の結果を使った回答を返すこと

ラボの構成

  1. 1Azure Portal にサインインしてラボ環境を確認する
  2. 2Azure OpenAI リソースとデプロイを用意する
  3. 3SDK と環境変数を準備する
  4. 4構造化出力で問い合わせをチケット化する
  5. 5モデルに社内関数を「呼ばせる」
  6. 6引数の検証と失敗時の扱いを加える
  7. 7構造化出力と関数呼び出しを組み合わせる
  8. 8結果を考察する

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

手順のプレビュー(最初のステップ)

1. Azure Portal にサインインしてラボ環境を確認する

  • 学習者ポータルに表示されている URL / Username / Password で https://portal.azure.com にサインインする
  • 「サインインの状態を維持しますか?」と表示されたら いいえ を選択する
  • 本ラボ用のリソース グループ(名前が lab- で始まる)を開いて名前を控える
> 注: シークレット(InPrivate)ウィンドウでの操作を推奨します。
残り 7 セクションの手順は、ラボを開始すると画面内に表示されます

構成図

構成図

参考リソース

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

AI-103Azure AI Engineer練習テスト 2 回・全 160 問