※本記事は Azure AI Search マニア向け 記事です。
私は Azure AI Search の豊富で難しい機能を余すところなく可視化し、敷居を下げたい。そして単純に製品として好きすぎて趣味で「RAGOps Studio — for Azure AI Search」を開発しているのですが、まだまだ機能も足りないし見せ方も満足していないということでさらなるアップデートを行いました。
Agentic Retrieval - Activity Flow
Azure AI Search の新機能である Agentic Retrieval のアクティビティログをさらに分かりやすくビジュアライズします。
具体的には以下のプロセスを一目で分かりやすく表示できるようになりました。
- エージェントがどのようにクエリプランニングをしたか
- 反復検索でどのようにクエリを書き換えたか
- どの Knowledge Source を並列で検索したか
- 何件の文書を取得したか
- 最終応答の生成にどれだけのトークンを使用したか
複数の Knowledge Source をどのようなキーワードで検索したかを可視化しています。もちろん RAW ACTIVITY で生 JSON も表示できます。
Skill Pipeline Builder
スキルセット(JSON)を、グラフキャンバス上で直感的に組み立てることができます。スキルノードを右クリックメニューから追加でき、データの接続をエッジコネクターで設定可能です。各ノードをクリックすると右ペインでスキル定義をグラフィカルに編集できます。
Graph Canvas
- ドキュメントノード → スキルノード → インデクサーノード → インデックスノードの4層構造
- ドラッグ&ドロップでスキル間の入出力を接続
- ノードの選択・移動・削除、エッジの接続・削除を GUI で操作
ビルトインスキルテンプレート(15種類): ワンクリックでスキルノードを追加
- テキスト系: Text Split, Key Phrase Extraction, Language Detection, PII Detection, Text Translation, Sentiment V3, Entity Recognition V3, Entity Linking V3, Text Merge
- ビジョン系: OCR, Image Analysis
- ユーティリティ系: Conditional, Document Extraction
- AI 系: Azure OpenAI Embedding, ChatCompletion (GenAI Prompt), Custom Web API
Skill Editor
スキルの設定(JSON)をリッチなセルエディタ上で編集できます。最も理解しづらい「コンテキスト」と「ソース」の設定項目をエンリッチメントパスピッカーが構造的に提案し、スキルの動作をテキストで解説します。
もちろん直接 JSON で編集もできます。
作成したスキルの動作についての解説を動的に生成して理解を助けます。
今後の展望
この Skill Pipeline Builder はあくまで現状の実装をそのままグラフ化したに過ぎません。私のやりたい次のステップとして、この上に抽象化レイヤーを配置することです。
さらによく使われるスキルパイプラインのテンプレートもビルトインする予定です。
Debug Runner
本家のデバッグセッション機能のような機能です。デバッグセッションは API が用意されていないので、独自にテンポラリーインデクサー等を自動生成し、インデックスプロジェクションによって各スキルの出力値をキャプチャします。
- Azure Blob Storage 接続設定(接続文字列、コンテナ名、ファイル名)
- デバッグ用の一時リソース(データソース、インデックス、インデクサー、スキルセット)の自動プロビジョニング
- Knowledge Store プロジェクション経由でスキル出力を実データでプレビュー
- Shaper スキルの内部自動生成
- プロビジョニング → 実行 → 取得 → クリーンアップの4ステップ UI
- 自動クリーンアップ機能(デバッグ完了後に一時リソースを自動削除)
Enrichment Tree
デバッグが完了したら各スキルからの出力値をエンリッチメントツリー上に追加します。木の幹と枝葉の関係がビジュアルで確認できます。
- デバッグ実行後のスキル出力値を
/document/…パスごとにツリー表示 - 実際のエンリッチメント結果の展開・折りたたみ表示
- フィールドマッピングの可視化
Custom Skill LiveEditor
RAGOps Studio を離れることなく、Azure AI Search の Custom Skill をブラウザ上でライブ開発・テスト・デプロイできる Python 統合開発環境です。
2つの実行モード
- Local Run(Pyodide): WebAssembly 経由でブラウザ内で Python コードを直接実行 — サーバー不要、即座にフィードバック
- Remote Run: クラウドランタイム(Azure Container Apps + FastAPI)上で実行し、本番環境に近いテストが可能
クラウドランタイムアーキテクチャ
-
Azure Container Apps 上の FastAPI ベースの Skill Host
-
Dynamic Skill Loading: コードを Azure Blob Storage に保存し、コンテナの再デプロイなしでランタイム時にロード
-
Diff モード: ローカルとリモートのコードが異なる場合のサイドバイサイド比較
これが次世代のカスタムスキルの開発手法となるでしょう。
Semantic Diff
スキルセットはまずローカル(localStorage)に保存することができます。Azure 上の実運用スキルに上書きしたい場合、安全策として Diff 機能が破損から守ります。
Semantic Diff により本質的な意図の差異を表示。内部で一旦パースして比較しています。
細かい文字の差異は Text Diff で確認可能。
実験ノート機能の追加
RAGOps におけるフィードバックサイクルは、サイエンスでの経験に基づく「実験ノート」機能によってトライアンドエラーの記録を保持し、できるだけ再現性を担保できるようにします。さらに Runs リストにおける視認性も向上させます。
詳細な機能一覧
参考
GitHub














