はじめに
Azure AI Search を使って RAG(Retrieval-Augmented Generation)を組むときに、いくつか詰まったポイントがあったので、自分の備忘録としてまとめておきます。
完璧に整理されたチュートリアルではなく、「実装中に手が止まった場面」を中心に書いています。
構成
今回つくったのはシンプルな構成です。
- ドキュメントのチャンク分割と埋め込み生成
- Azure AI Search のベクトル検索インデックス作成
- LLM への入力にトップ K 件を差し込む
ハマったところ
インデックスのスキーマ設計
ベクトルフィールドを足したあとに、追加のフィールドをあとから差し込もうとしたら、インデックスの再作成が必要でした。最初のスキーマで「これは持っておきたい」と思うフィールドは全部入れておくのが結果的に楽でした。
チャンクサイズ
長すぎても短すぎても精度が落ちます。今回は 400 〜 600 トークン程度に揃えて、オーバーラップを 50 トークンほど入れる構成で、自分のドキュメントには馴染みました。
やってみた感想
最小構成で動かしてから、徐々にチューニングしていくのが向いていそうです。最初から「正解の構成」を狙うより、まず動かすほうが早く学べました。
次は、検索スコアと LLM のプロンプトの相性について、もう少し試してみる予定です。
