埋め込みモデルで意味検索を作り、RAG の中身を理解する

Azure OpenAI の埋め込みモデルで文章をベクター化し、コサイン類似度で「意味が近い文」を探す検索を Python だけで実装します。AI Search が裏で何をしているかを手で確かめ、チャンク分割と類似度しきい値の効き方を体験します。

中級約 60 分Azure 実環境

ラボ概要

このラボでは、RAG の心臓部である「埋め込み(embedding)」と「類似度検索」を、検索サービスに頼らず Python だけで組み立てます。ブラックボックスになりがちなベクター検索の仕組みを、数値と結果を見ながら理解するのが目的です。

学習目標:

  • Azure OpenAI に埋め込みモデル(embed)と小型チャット モデル(chat)をデプロイする
  • 文章を埋め込みベクターに変換し、次元数と値の性質を確認する
  • コサイン類似度で質問に最も近い規程文を探す(キーワードが一致しなくても見つかることを確認する)
  • 文書をチャンクに分割し、チャンクの大きさで検索結果がどう変わるかを比べる
  • 検索したチャンクを根拠としてチャット モデルに渡し、最小構成の RAG を完成させる
前提知識:
  • Python の基本(リスト内包表記・辞書)
  • 「Cloud Shell の Python から Azure OpenAI を呼び出す」ラボ相当の経験
完了条件:
  • デプロイ embed(埋め込みモデル)と chat(小型モデル)が存在すること
  • 意味検索スクリプトが、質問に対して妥当な規程文を上位に返すこと

ラボの構成

  1. 1Azure Portal にサインインしてラボ環境を確認する
  2. 2Azure OpenAI リソースと 2 つのデプロイを用意する
  3. 3SDK と環境変数を準備する
  4. 4埋め込みベクターを観察する
  5. 5規程文を用意して意味検索を実装する
  6. 6しきい値で「該当なし」を判定する
  7. 7チャンク分割の大きさを比べる
  8. 8最小構成の RAG を完成させる
  9. 9結果を考察する

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

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

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

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

構成図

構成図

参考リソース

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

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

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