9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

全ての Azure AI Search LOVER に贈る RAGOps ツール「RAGOps Studio — for Azure AI Search」を自作リリース🎉

9
Last updated at Posted at 2026-01-04

2026年あけましておめでとうございます。新年一発目の記事は趣味で作った新作ツールの紹介です。私は長年にわたり Azure AI Search の進化の歴史を見てきましたが、それらの集大成となるような成果物をここでまとめてみたいと思い開発を始めました。

RAG (Retrieval-Augmented Generation) システムの本番運用において、検索品質の継続的な改善は最も重要な課題の一つです。しかし、Azure AI Search の高度な機能を活用しようとすると、REST API の複雑なパラメータ設定、ベクトル検索とハイブリッド検索の最適化、Knowledge Retrieval API (Agentic retrieval) の実装など、多くの技術的ハードルに直面します。

そこで、Azure AI Search の先進的な機能を最大限に活用し、RAG システムの開発・運用を劇的に効率化するオープンソースの RAGOps プラットフォームとして「RAGOps Studio — for Azure AI Search」を開発しました。

このツールは単なる GUI クライアントではありません。検索クエリから品質改善までのエンドツーエンドのライフサイクルをサポートする、プロフェッショナル向けの開発・運用統合環境です。

image.png

RAGOps とは何か?

RAGOps は、MLOps や DevOps の概念を RAG システムに適用した新しい運用哲学です。

  • 継続的な検索品質の測定と改善
  • 実験管理とパラメータチューニングの自動化
  • パフォーマンスモニタリングと最適化
  • 開発から本番環境への一貫したワークフロー

RAGOps Studio — for Azure AI Search は、この RAGOps の実践を可能にする初の包括的ツールとして設計されました。実は私は4年前に Simple-Cognitive-Search-Tester を開発していますが、そこからの大規模なアップデートとなります。

なぜこのツールが必要なのか?

開発者が直面する課題

RAG システムの構築〜本番運用では、以下のような高度な要件に直面します。

  • 最新 API 機能の活用: Knowledge Retrieval API などのプレビュー機能を素早く検証したい
  • 複雑なパラメータの調整: ベクトル検索のパラメータ (vectorThresholdKind, vectorOversampling, vectorFilterOverride など) を体系的にテストしたい
  • 実験管理とトレーサビリティ: クエリ履歴や結果比較、パラメータチューニングの履歴を一元管理したい
  • パフォーマンスの定量評価: QPS 測定やレイテンシ分析を含む包括的なベンチマークが必要
  • エンドツーエンドのワークフロー: Index 管理、Knowledge Base 作成、検索テスト、評価を統合された環境で実施したい

RAGOps Studio — for Azure AI Search の提供価値

これらの開発者ニーズに対し、RAGOps Studio — for Azure AI Search は以下を実現します。

  1. 最新 API の即座サポート: Azure AI Search の最新プレビュー機能 (Knowledge Retrieval API 2025-11-01-preview) を含む全機能をサポート
  2. エンドツーエンドの実験管理: クエリの作成から実行、結果の保存、比較、評価までを統合
  3. 自動化されたパラメータ最適化: Search Parameter AutoTuning による科学的なアプローチ
  4. プロダクションレディな分析: QPS テスト、Search Pipeline Visualizer による4段階検索比較
  5. 開発者体験の最大化: 直感的な UI とプロフェッショナルな機能の両立

🧠 Azure AI Search の先進機能を完全網羅

このツールの最大の先進性は、RAG システムに MLOps の概念を持ち込んだことにあります。

先進性①: 実験管理の概念を導入 → RAGOps の実現

image.png

従来の検索システム開発では、パラメータ調整は「試行錯誤の繰り返し」でした。しかし、RAGOps Studio — for Azure AI SearchMLOps の実験管理の概念を RAG に適用し、体系的な品質改善を可能にします。

Experiment → Run → Artifact の階層構造:

  • 再現性: すべての検索パラメータと結果を自動保存
  • 比較可能性: 最大 10 個の Run を並列表示し、差分を可視化
  • トレーサビリティ: どのパラメータがどの結果を生んだかを追跡
  • 環境間移行: Export/Import による開発→本番の一貫性保証

比較可能性

私おすすめの機能の一つです。

image.png

最大 10 個の Run を同時比較

  • タブ形式で複数結果を並列表示
  • 各タブは個別に閉じることが可能
  • 比較モードで結果表示をコンパクト化

これは、機械学習の実験管理ツールの思想を検索システムに持ち込んだ 私史上初の試み です。

先進性②: AutoML の考え方を導入 → Search Parameter AutoTuning

image.png

機械学習における AutoML (自動機械学習) の概念を、検索システムに応用した Search Parameter AutoTuning

AutoML との対比

観点 AutoML Search Parameter AutoTuning
目的 モデルの自動最適化 検索パラメータの自動最適化
手法 ハイパーパラメータ探索 グリッドサーチ + 評価指標
評価 精度、F1スコア、AUC Precision@k, Recall@k, NDCG, MRR
出力 最適モデル 最適検索設定

従来の課題

  • パラメータの組み合わせ爆発 (vectorWeight × vectorK × queryType × ... = 数百通り)
  • 手動評価の限界 (主観的、再現性なし)
  • ベストプラクティスの属人化

AutoTuning による解決

  • 自動探索: 全パラメータ組み合わせを体系的に評価
  • 客観的評価: 情報検索の標準指標 (NDCG, MRR) で定量化
  • 知識の民主化: ベスト設定を JSON で共有可能

これにより、データサイエンティストが機械学習モデルを最適化するように、検索システムを科学的に最適化 できます。

🧪 4つの検索ラボモード - Azure AI Search の全機能を網羅

1. Query Mode - クラシック検索のマスター

image.png

Azure AI Search の基盤となる全文検索機能を完全サポート

サポートする主要パラメータ

  • Lucene クエリ構文: simplefull の両モードに対応、ワイルドカード・正規表現・近接検索などの高度なクエリ
  • OData フィルタ: 複雑な条件式を GUI で直感的に構築、プレビューしながら調整可能
  • カスタムスコアリング: Scoring Profile と Scoring Parameters によるビジネスロジックの反映
  • ファセット集計: カテゴリ分類とドリルダウン検索の実装
  • ハイライト: クエリマッチ箇所の自動抽出と表示
  • レプリカカバレッジ: minimumCoverage による可用性とレイテンシのバランス調整

2. Semantic-Vector Mode - ハイブリッド検索の最適化

image.png

Azure AI Search の最新ベクトル検索とセマンティック検索を統合。

セマンティック検索の完全サポート

  • L2 Semantic Ranker: Microsoft の言語理解モデルによる意味ベースの再順位付け
  • Captions と Answers: クエリに対する抽出的要約の自動生成
  • 50以上の言語対応: queryLanguage による多言語最適化
  • スペル修正: lexicon モードによる自動補正

ベクトル検索の高度な制御

  • 複数ベクトルクエリ: 異なる埋め込みモデル (text-embedding-ada-002, text-embedding-3-large) の結果統合
  • マルチモーダル検索: テキスト、画像 URL、画像バイナリの混在クエリ
  • Exhaustive モード: HNSW の全探索による最高精度

ハイブリッド検索の最適化

  • vectorWeight: 全文検索とベクトル検索のバランス調整 (0.0-1.0)
  • RRF (Reciprocal Rank Fusion): 複数検索結果の統合アルゴリズム
  • vectorFilterMode: プレフィルタ vs ポストフィルタの選択 (パフォーマンスへの影響大)
  • hybridMaxTextRecallSize: テキスト検索の取得上限によるコスト最適化
  • oversampling: HNSW グラフの探索精度向上 (品質とレイテンシのトレードオフ)
  • perDocumentVectorLimit: マルチベクトルドキュメントの最適化

3. Agentic Mode - Knowledge Retrieval API の爆速実装

image.png

Azure AI Search の最新機能 (2025-11-01-preview) を最速でサポート。

Knowledge Retrieval API の革新性

エージェンティック検索の実現

  • 従来の「クエリ → 結果」の単純な流れを超越
  • 複数ステップの推論と検索を組み合わせた高度な情報検索
  • 自然言語の意図を理解し、最適な検索戦略を自動選択
  • クエリの書き換え、複数 Knowledge Source の横断検索、結果の統合を自動化

image.png

アクティビティログによる透明性

  • エージェントがどのようにクエリを書き換えたか
  • どの Knowledge Source を検索したか
  • 何件の文書を取得したか
  • 最終応答の生成にどれだけのトークンを使用したか

image.png

これらのプロセスを 段階的に可視化 することで、Agentic Retrieval のブラックボックスを解明できます。

4. Analyze Mode - テキスト解析の深層理解

image.png

トークナイザーとアナライザーの動作を可視化し、検索品質の根本を理解。

3つの解析パターン

  • アナライザー指定: standard, ja.lucene, ja.microsoft などのビルトインアナライザー、またはカスタムアナライザーをテスト
  • トークナイザー + フィルタ組み合わせ: 個別コンポーネントの動作を検証
  • ノーマライザー: 正規化処理の確認 (大文字小文字、アクセント記号など)

実践的な活用シーン

  • 日本語検索の最適化: ja.lucene vs ja.microsoft の比較
  • カスタムアナライザーのデバッグ: 期待通りにトークン化されているかを確認
  • Synonym Map の効果検証: 同義語展開が正しく動作するか
  • ステミング・レマタイゼーション: 語幹抽出の動作確認
  • Char Filter の検証: HTML タグ除去、特殊文字変換などの前処理

🛠️ RAGOps を支えるプロフェッショナルツール群

1. Search Parameter AutoTuning - 科学的パラメータ最適化

image.png

RAG システムの品質改善で最も時間がかかるのが「パラメータチューニング」です。RAGOps Studio — for Azure AI Search は、この作業を自動化します。

最適化対象パラメータ

  • インデックス選択: 複数インデックス間での検索品質比較
  • vectorWeight: ハイブリッド検索の重み付け (0.0-1.0 を0.1刻みで探索)
  • vectorK: ベクトル検索の取得件数 (5, 10, 20, 50, 100 など)
  • hybridMaxTextRecallSize: テキスト検索の上限 (100, 500, 1000)
  • queryType: クエリ構文の選択 (simple, full, semantic)
  • vectorThreshold: 閾値設定 (vectorSimilarity, searchScore)

サポートする評価指標: Precision@k、Recall@k、NDCG、MRR

グリッドサーチの実行

  • 全パラメータ組み合わせを生成し、体系的に評価
  • 複数パラメータセットを並列実行し高速化
  • リアルタイムで進捗を表示、途中結果を確認可能
  • ベストパラメータを自動抽出、即座に適用可能
  • 結果を IndexedDB に保存、後から比較可能

2. Search Pipeline Visualizer - 4段階検索の可視化

セマンティックハイブリッド検索がどのように動作しているか、検索パイプラインをブレークダウンして内部を「見える化」。ドキュメントをクリックすると各検索モードごとの順位を自動ハイライト。

image.png

4つの検索ステージが対応

  • Text Search
  • Vector Search
  • Hybrid (RRF)
  • Semantic Hybrid

可視化の価値

  1. デバッグの容易化: どのステージで関連文書が脱落したかを特定
  2. ベクトル vs テキストの比較: どちらがより効果的かを評価
  3. Semantic Reranking の効果測定: スコア再計算でどれだけ順位が変わるか
  4. 最適な検索戦略の選択: 全ステージの結果を比較して最適解を発見

3. Query Performance Tester (QPS Tester)

本番環境での負荷を事前にシミュレート

image.png

測定項目

  • 5種類の検索モード: 全文検索 (query), セマンティック検索 (semantic), ベクトル検索 (vector), ハイブリッド検索 (hybrid), セマンティックハイブリッド検索 (semantic_hybrid) を個別に測定
  • QPS (Queries Per Second): 秒あたりの処理能力
  • レイテンシ: p50/p95 レイテンシの測定
  • エラー数: リクエストエラー数と詳細表示

活用シーン

  • キャパシティプランニング: 必要な SKU サイズの決定
  • パフォーマンスリグレッション検出: インデックス変更後の性能比較
  • レイテンシ SLA の検証: p95 レイテンシが目標値以下か確認
  • スケールアウトテスト: レプリカ追加後の効果測定

4. Vector Optimizer - ベクトル検索のコスト最適化

image.png

ベクトル検索の設計では「精度を上げたい」だけでなく、ストレージとレイテンシの現実的な制約(ベクトルの次元数、保存方式、量子化、再スコアリング用のオリジナル保持など)を踏まえた意思決定が重要です。

Vector Optimizer は、ベクトル設定の候補について理論サイズ(バイト数)の内訳を比較し、設計の当たりを付けるためのツールです。

  • 入力ベクトル形式: float32 (Edm.Single) / float16 (Edm.Half)
  • 量子化: scalarQuantization (int8) / binaryQuantization (1 bit/dim) / なし
  • 保存と再スコアリング:
    • stored=true/false による source vector(JSON)の保存有無
    • 量子化時の rescoring を想定した originals(フル精度)の保持/破棄
  • MRL(次元削減): 量子化を使う場合に、次元数を落としたときのサイズ感を比較

さらに、Text-to-Vector(埋め込み生成)を併設しているため、実データを入力して実際の埋め込み次元を確認しながら、そのままサイズ見積もりに反映できます。

5. Builder Tools - 統合された管理環境

Index Builder

image.png

完全な Index 管理

  • 接続されたサービスの全インデックスを一覧表示
  • JSON エディタでスキーマを直接編集 (シンタックスハイライト、エラー検出)
  • Vector Search の全設定をサポート (HNSW, Quantization, MRL)
  • 統計情報のリアルタイム表示 (documentCount, storageSize, vectorIndexSize)
  • CRUD 操作: 作成、更新、削除を GUI から実行
  • インポート/エクスポート: JSON ファイルからのインポート、クリップボードへのエクスポート

Knowledge Base & Knowledge Source Builder

Azure AI Search の最新機能を完全サポート。

Knowledge Source の管理

image.png

  • 検索インデックスを Knowledge Source として登録
  • Semantic Configuration との統合
  • ソースデータフィールドと検索フィールドの指定

Knowledge Base の構築

image.png

  • 複数の Knowledge Source を統合した Knowledge Base を作成
  • マルチソース検索の基盤を構築
  • Agentic Mode で利用する Knowledge Base の管理

Synonym Map Builder

image.png

同義語管理の UI/UX を革新。

従来の課題 (手動編集の Solr 形式)

  • テキストファイルの直接編集が必要
  • フォーマットエラーが発生しやすい
  • 20,000 ルール制限の確認が困難

RAGOps Studio — for Azure AI Search の解決策

  • GUI フォーム編集: 1件ずつルールを追加、直感的な管理
  • 2種類のルール: Equivalency (等価) vs Explicit Mapping (明示的マッピング) の切り替え
  • バリデーション: 20,000 ルール制限のリアルタイムチェック、形式検証
  • ファイルインポート: CSV ファイルからの一括インポート
  • プレビュー機能: 保存前に Solr 形式を確認

🧑‍💻 開発者体験 (DX) の最大化

1. 実験管理ワークフロー

Experiment → Run → Artifact の階層構造

  • Experiment (実験): プロジェクト単位での管理
  • Run (実行履歴): 個々の検索実行結果を保存、最大 200 件まで画面表示
  • Artifact (成果物): QPS テストや AutoTuning の結果を永続化
    • IndexedDB
      image.png

3. Export / Import による環境間移行

  • JSON 形式で Runs と Artifacts を一括エクスポート
  • メタデータ (エクスポート日時、実験名) を含む

4. UI/UX の細部へのこだわり

  • 3 ペイン構造、ドラッグリサイズ対応

  • 多言語対応 (日本語・英語)

  • 6 つのテーマ (System, Dark, Light, Midnight, Forest, Solarized)
    image.png

  • 複雑なフィルター式を簡単に構築する Filter Query Builder

  • 最新機能の学習を加速するⓘ Info Tooltip をすべてのパラメータに

「RAGOps Studio — for Azure AI Search」を使って行う RAGOps ワークショップ、絶対面白くなると思いませんか?

コメント、感想お待ちしています!

GitHub

License

MIT License

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?