RAG (Retrieval-Augmented Generation) は LLM の応答生成時に外部知識ベースから関連情報を検索・Prompt に含める手法で、Azure AI Foundry の中核パターンです。 Fine-tuning より低コスト・データ更新容易・Source 引用可能・Hallucination 削減という利点があり、AI-103 試験の最重要トピック。 本記事では、5 ステップパイプライン・Chunking 戦略・Azure AI Search・Hallucination 削減を網羅的に整理します。
LLM 単独 (Closed-book) では『学習時点までの一般知識』しか答えられないが、RAG (Open-book) で組織固有データ・最新ニュースなどに基づく回答が可能。
| ステップ | 動作 | 主要サービス |
|---|---|---|
| 1. Document Ingestion | PDF・Word・SharePoint・Web 取り込み | Azure AI Document Intelligence |
| 2. Chunking | 200-1,000 トークン単位で分割 | LangChain・Custom |
| 3. Embedding | Vector 化 | Azure OpenAI text-embedding-3-large |
| 4. Indexing | Vector Store へ保管 | Azure AI Search Vector |
| 5. Retrieval | Top-K 検索 | Azure AI Search Vector + Hybrid |
| 6. Generation | 応答生成 + Source 引用 | GPT-4o |
Azure AI Search は RAG の Vector Store として最も推奨される Azure ネイティブサービス。
| Tier | 用途 | 月額目安 |
|---|---|---|
| Basic | 開発 | 1.5 万円 |
| Standard S1 | 本番標準 | 3-10 万円 |
| Standard S2/S3 | 大規模本番 | 数十万円 |
| Storage Optimized | 大容量 | 数十万円 |
Chunking は RAG 品質を左右する最重要設計。
| 戦略 | 特徴 | 用途 |
|---|---|---|
| Fixed-size Chunking | 200・500・1,000 トークン固定 | 最も簡単 |
| Sentence Splitter | 文単位で分割 | 自然な区切り |
| Paragraph Splitter | 段落単位 | 最も自然 |
| Recursive Character Splitter | Paragraph → Sentence → Word の階層分割 | 推奨 (LangChain) |
| Semantic Chunking | Embedding 類似度で意味的グルーピング | 最高品質・コスト高 |
| Document-structure-aware | Heading・Table・List 構造保持 | 構造化 PDF |
Overlap (50-100 トークン重複) で文脈損失防止。本番運用では複数戦略を A/B Test で比較最適化。
| モデル | 次元 | 精度 | コスト | 用途 |
|---|---|---|---|---|
| text-embedding-3-large | 3,072 | 最高 | 中 | 高精度要件 |
| text-embedding-3-small | 1,536 | 標準 | 低 (3-large の約 1/5) | 大量 Document |
| text-embedding-ada-002 | 1,536 | 旧世代 | 標準 | 後方互換のみ |
Dimension Reduction (例: 3-large の 3,072 → 1,024 次元) で精度をやや犠牲にコスト削減も可能。 Multi-lingual 要件で多言語特化モデル (multilingual-e5-large) を選ぶケースも。 本番運用では Embedding モデルを途中変更すると全 Vector を Re-generate する必要、初期選定が極めて重要。
Hallucination (LLM が事実でない応答を自信満々に生成する現象) 削減テクニック:
| サービス | 特徴 | 用途 |
|---|---|---|
| Azure AI Search Vector | 機能フル・Hybrid Search・Semantic Ranker | 本番標準 (推奨) |
| Azure Cosmos DB for NoSQL Vector | NoSQL データと Vector 統合 | NoSQL ベースアプリ |
| Azure Database for PostgreSQL pgvector | PostgreSQL 拡張 | 既存 PostgreSQL 環境 |
| Azure Cache for Redis Vector | 低レイテンシ Cache | セッション一時 Vector |
from openai import AzureOpenAI
from azure.search.documents import SearchClient
from azure.identity import DefaultAzureCredential
# Azure OpenAI client (Managed Identity)
client = AzureOpenAI(
azure_endpoint='https://your-openai.openai.azure.com',
azure_ad_token_provider=DefaultAzureCredential()
)
# Azure AI Search client
search_client = SearchClient(
endpoint='https://your-search.search.windows.net',
index_name='documents',
credential=DefaultAzureCredential()
)
def rag_query(user_query: str) -> str:
# 1. Embedding generation
embedding = client.embeddings.create(
input=user_query,
model='text-embedding-3-large'
).data[0].embedding
# 2. Vector search (Hybrid)
results = search_client.search(
search_text=user_query,
vector_queries=[{
'vector': embedding,
'k_nearest_neighbors': 5,
'fields': 'content_vector'
}],
select=['content', 'source'],
query_type='semantic',
semantic_configuration_name='default'
)
# 3. Context construction
context = '\n\n'.join([f"[{r['source']}] {r['content']}" for r in results])
# 4. Generation with grounding
response = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': '''You are a helpful assistant.
Answer ONLY based on the provided context. If the answer is not in the context, say "I do not know".
Always cite sources using [source_id].'''},
{'role': 'user', 'content': f'Context:\n{context}\n\nQuestion: {user_query}'}
],
temperature=0
)
return response.choices[0].message.contentRAG (Retrieval-Augmented Generation) とは?
RAG は LLM の応答生成時に、外部知識ベース (組織独自データ・最新情報) から関連情報を検索 → Prompt に含めて応答生成する手法。LLM 単独 (Closed-book) では『学習時点までの一般知識』しか答えられないが、RAG (Open-book) で組織固有データ・最新ニュースなどに基づく回答が可能に。代表的なユースケース: 1) 社内 Q&A Bot (社内ドキュメント・規程参照)、2) Customer Support (FAQ・製品マニュアル参照)、3) Legal Research (判例・契約書参照)、4) Medical Q&A (論文・ガイドライン参照)、5) E-commerce 商品推薦 (商品カタログ参照)。RAG の利点: 1) Fine-tuning より低コスト・高速、2) データ更新が容易 (Re-index のみ)、3) Source 引用可能で説明責任、4) Hallucination 削減。AI-103 試験のドメイン 2 (Generative AI) の最重要トピックです。
RAG パイプラインの 5 ステップは?
標準 RAG パイプライン: 1) Document Ingestion (PDF・Word・SharePoint・Web ページ取り込み・Azure AI Document Intelligence で構造化抽出)、2) Chunking (Document を 200-1,000 トークン単位で分割・Sentence / Paragraph / Recursive Character Splitter)、3) Embedding (Azure OpenAI text-embedding-3-large で Vector 化・3,072 次元・Batch 処理推奨)、4) Indexing (Azure AI Search Vector Index へ保管・Vector Field + Filterable Metadata Field)、5) Retrieval (ユーザー Query → Embedding 化 → Cosine Similarity で Top-K 検索・Hybrid Search = Vector + Full-text + BM25 で精度向上)、6) Generation (Retrieved Chunks を Prompt に含めて GPT-4o で応答生成・Source 引用付き)。本番運用では各ステップで継続改善が必要、特に Chunking 戦略・Retrieval 精度・Prompt 設計が応答品質を大きく左右します。
Azure AI Search の Vector Search 活用は?
Azure AI Search は RAG の Vector Store として最も推奨される Azure ネイティブサービス。主要機能: 1) Vector Search (HNSW Algorithm でナビゲーションし高速 ANN 検索・最大数億 Vector 対応)、2) Hybrid Search (Vector + Full-text + BM25 で Recall 向上)、3) Semantic Ranking (再順位付け・Microsoft 独自 BERT モデル)、4) Filter (Metadata Field でフィルタリング)、5) Faceted Navigation (カテゴリ別集計)、6) Integrated Vectorization (Document Ingestion 時に Embedding 自動生成・Azure OpenAI 連携)、7) Index Replicas + Partitions (高可用 + スケール)。Pricing Tier: Basic (開発)・Standard S1/S2/S3 (本番)・Storage Optimized (大容量)。本番 RAG では Standard S1 + Replicas 2 + Partitions 2 が標準構成、月数万円から。Cosmos DB Vector・PostgreSQL pgvector も選択肢ですが、Azure AI Search が機能・統合面で優位です。
Chunking 戦略はどう設計しますか?
Chunking は RAG 品質を左右する最重要設計。代表的な戦略: 1) Fixed-size Chunking (200・500・1,000 トークン固定・最も簡単・Token 境界が文の途中で切れる欠点)、2) Sentence Splitter (文単位で分割・自然な区切り・Chunk サイズが不均一)、3) Paragraph Splitter (段落単位・最も自然・PDF 構造に依存)、4) Recursive Character Splitter (LangChain 提供・Paragraph → Sentence → Word の階層分割・推奨)、5) Semantic Chunking (Embedding 類似度で意味的にグルーピング・最高品質・コスト高)、6) Document-structure-aware Chunking (Heading・Table・List 構造を保持・Microsoft AI Document Intelligence 統合)。Overlap (50-100 トークン重複) で文脈損失防止。代表的な設計: 一般 Document → 500 トークン + 100 Overlap + Recursive Character、長文記事 → 1,000 トークン + 200 Overlap、構造化 PDF → Document-structure-aware Chunking。本番運用では複数戦略を A/B Test で比較最適化が標準です。
Embedding モデル選定は?
Azure OpenAI Embedding モデル: 1) text-embedding-3-large (3,072 次元・最高精度・コスト中)、2) text-embedding-3-small (1,536 次元・高速・低コスト・3-large の約 1/5 価格)、3) text-embedding-ada-002 (1,536 次元・旧世代・後方互換性のみ)。判断: 高精度要件 (法律・医療・正確な検索) → text-embedding-3-large、高速・低コスト要件 (社内 FAQ・大量 Document) → text-embedding-3-small。Dimension Reduction (例: 3-large の 3,072 → 1,024 次元) で精度をやや犠牲にコスト削減も可能 (API パラメータ指定)。Microsoft / OSS 代替モデル: BAAI/bge-large-en・E5 シリーズなど、Multi-lingual 要件で多言語特化モデル (multilingual-e5-large) を選ぶケースも。本番運用では Embedding モデルを途中変更すると全 Vector を Re-generate する必要があり、初期選定が極めて重要、Pilot で複数モデル比較が推奨されます。
Retrieval 精度を高めるテクニックは?
精度向上テクニック: 1) Hybrid Search (Vector + Full-text + BM25 の Reciprocal Rank Fusion で総合 Score・単体 Vector より 10-30% 精度向上)、2) Semantic Ranking (Top 50 取得 → Microsoft Semantic Ranker で再順位付け → Top 5 → LLM へ・Recall + Precision 両立)、3) Query Rewriting (ユーザー Query → LLM で複数バリエーション生成 → 並列検索 → 結果統合・Hypothetical Document Embeddings HyDE パターン)、4) Multi-step Retrieval (1 回目検索 → Result から追加 Query 生成 → 2 回目検索・Agent パターン)、5) Filter (Metadata Field でドメイン絞り込み・Date Range・Author 等)、6) Re-ranker (Cohere Rerank API・Cross-encoder モデル)、7) Chunk Enhancement (Heading・Summary・Question を Chunk に追加して Embedding 多様化)。本番運用では Evaluation で各テクニックの効果測定 → 組み合わせ最適化が必須、Azure AI Foundry の Prompt Flow + Evaluation で継続改善が標準です。
Hallucination 削減のテクニックは?
Hallucination (LLM が事実でない応答を自信満々に生成する現象) 削減: 1) Grounding (Prompt で『提供された Context のみに基づき回答・Context にない情報は "わかりません" と回答』指示)、2) Source Citation (Prompt で『回答には Source ID を付与』指示・ユーザーが検証可能)、3) Confidence Score (LLM に応答の確信度を出力させる・低 Confidence は不確実応答として扱う)、4) Groundedness Detection (Azure AI Foundry の組み込みメトリクス・生成内容が Context に準拠しているか自動検証・閾値以下は再生成)、5) Multi-step Reasoning (Chain of Thought で推論プロセスを明示化・誤推論を発見しやすく)、6) RAG 結果の検証 (生成後に LLM に『この応答は提供された Context のみに基づくか?』を Self-check させる)、7) Temperature を 0 に近づける (決定的応答で創造的捏造を抑制)。本番運用では複数テクニックの組み合わせ + Evaluation で継続測定が必須、Microsoft の Groundedness Detection は本番 RAG の標準コンポーネントです。
関連認定試験は?
AI-103 (Developing AI Apps and Agents on Azure、2026-06 GA) のドメイン 2 (Generative AI 30-35%) で RAG パターンが深く問われる本領域の本命認定。AI-901 (AI Fundamentals、2026-06 GA) で RAG 基礎、AZ-204 (Developer Associate、2026-07 リタイア注意) で開発者視点での RAG 実装、SC-100 (Cybersecurity Architect Expert) で RAG セキュリティ・Responsible AI、DP-700 (Fabric Data Engineer) で RAG 用データ準備パイプライン、DP-420 (Cosmos DB Specialty) で Cosmos DB Vector を使った RAG。Azure AI エンジニアにとって RAG の理解は必須で、AI-103 学習の最重要トピックです。
関連記事・技術深掘り
Azure AI エンジニア キャリアロードマップ|AI-901 → AI-103 → 生成 AI アーキテクトへの道【2026 年版】
Azure AI エンジニアになるための認定取得ロードマップ完全版。AI-901 (2026-06 GA、AI-900 後継) → AI-103 (2026-06 GA、AI-102 後継) の最新ルート、Azure AI Foundry / Agent Service / OpenAI 中心の生成 AI 時代の構成、Databricks GenAI / OpenAI Direct との二刀流戦略、年収レンジまで日本語で網羅。
AI-103 完全ガイド|Developing AI Apps and Agents on Azure【2026 年 6 月 GA・AI-102 後継】
Microsoft Certified: Developing AI Apps and Agents on Azure (AI-103) の完全ガイド。AI-102 の後継として 2026 年 6 月 30 日 GA。Azure AI Foundry / Agent Service / OpenAI / AI Search を中心に、RAG パターン・Agent オーケストレーション・Responsible AI・Semantic Kernel SDK の実装スキル、3-4 ヶ月の合格ロードマップを日本語で網羅。
Azure データエンジニア キャリアロードマップ|DP-900 → DP-700 → AI-103 シニアデータエンジニアへの道【2026 年版】
Azure データエンジニアになるための認定取得ロードマップ完全版。DP-900 → DP-700 → DP-600 / DP-300 の Fabric 時代の王道ルート、Databricks 認定との二刀流、AI-103 統合戦略、DP-203 リタイア後の選択、12-18 ヶ月の学習プラン、年収レンジまで日本語で網羅。
Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)
Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。Fundamentals/Associate/Expert/Specialty の階層、2026 年 6-9 月の大型再編 (AI-900→AI-901、AI-102→AI-103、AZ-500→SC-500)、役割別ルート (Admin/Developer/Architect/DevOps/Security/Data/AI) を日本語で整理。
本記事の技術情報は Azure AI Search RAG Documentation およびAzure AI Foundry Documentation に基づいています。 本記事は Microsoft Corporation の公式商品ではなく、いかなる提携・後援関係もありません。 Microsoft、Azure、Azure OpenAI、Azure AI Search は Microsoft group of companies の商標です。OpenAI は OpenAI, Inc. の商標です。 情報は 2026 年 5 月 24 日時点の公式公開資料に基づきます。最新情報は必ず公式ページをご確認ください。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
AZ-900 完全ガイド|Microsoft Azure Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Fundamentals (AZ-900) の 2026 年 1 月 14 日改訂版に対...
Azure 認定資格ロードマップ 2026 完全版|全 26 試験の体系と大型再編 (AI-901/AI-103/SC-500)
Microsoft Azure 認定資格 全 26 試験 (現行 23 + 退役 3) の 2026 年版ロードマップ。...
AI-901 完全ガイド|Azure AI Fundamentals 新試験
Microsoft Certified: Azure AI Fundamentals (AI-901) の出題範囲・Mi...
Microsoft Entra ID 入門|旧 Azure AD から学ぶ ID 管理 (AZ-900/SC-900/AZ-104 必須知識)
Microsoft Entra ID (旧 Azure Active Directory) の入門解説。2023 年 7...
DP-900 完全ガイド|Azure Data Fundamentals 出題範囲・学習リソース・合格戦略
Microsoft Azure Data Fundamentals (DP-900) の完全ガイド。4 ドメインの出題範...