Masahito
Initial deployment
4b359d9

A newer version of the Gradio SDK is available: 6.12.0

Upgrade
metadata
title: Inference Comparator
emoji: 🔍
colorFrom: gray
colorTo: green
sdk: gradio
sdk_version: 6.5.1
app_file: app.py
pinned: false
license: mit
short_description: テストデータ(public_150.json)への推論結果(inference.json)を比較するツール

🔍 Inference Comparator

推論結果(inference_v*.json)を比較するためのツールです。

機能

📝 結果概要タブ

  • 一覧表示: 全タスクの推論結果をテーブル形式で表示
  • フォーマット検証: JSON, YAML, TOML, XML, CSV に対応
  • フォーマット不正ハイライト: 不正な行を黄色でハイライト表示
  • トークン数表示: 各クエリ・推論結果の推定トークン数を表示
  • フィルタリング機能:
    • task_name でフィルター
    • output_type でフィルター
    • フォーマット不正のみ表示
  • ソート機能: query または各 inference のトークン数でソート
  • モーダル表示:
    • クエリをクリック → クエリ全文をモーダル表示(ズーム・コピー対応)
    • エラーマーク(✗)をクリック → エラー詳細と推論結果をモーダル表示

🔄 詳細比較タブ

  • 2つの推論結果を並べて比較: Inference A と Inference B を選択
  • 入れ替えボタン(⇄): A と B の選択を簡単に入れ替え
  • Query全文表示: 折り返し表示に対応、スクロール可能
  • Diff表示: 差分をunified diff形式でカラー表示

使い方

  1. inferenceファイル(1つ以上)をアップロード
  2. 「結果概要」タブで概要を確認
    • 黄色の行 = 指定フォーマットとして解釈できない推論結果を含む
    • queryをクリック → 全文表示
    • ✗マークをクリック → エラー詳細表示
  3. 「詳細比較」タブで個別のタスクを比較(2ファイル以上必要)

ファイル構成

visualize_app/
├── app.py           # メインアプリ
├── scripts.js       # カスタムJavaScript(モーダル、ズーム機能)
├── styles.css       # カスタムCSS
├── public_150.json  # テストデータ(150タスク)
└── README.md        # このファイル

ファイル形式

inference_v*.json

[
  {
    "task_id": "xxx",
    "generation": "..."
  }
]

public_150.json(テストデータ)

[
  {
    "task_id": "xxx",
    "task_name": "JSON to CSV",
    "output_type": "CSV",
    "query": "..."
  }
]

フォーマット抽出ロジック

generation フィールドから以下の優先順位でコンテンツを抽出:

  1. ```(format) ... ``` コードフェンス内
  2. 全文をそのままパース

対応フォーマット: JSON, YAML, TOML, XML, CSV

技術仕様

  • フレームワーク: Gradio 5.x / 6.x
  • 同梱データ: public_150.json(テストデータ、150タスク)
  • トークン数: 文字数 ÷ 4 の簡易近似(日本語は過小評価の可能性あり)

ローカル実行

# 依存関係のインストール
pip install gradio pyyaml toml pandas

# アプリの起動
cd visualize_app
python app.py

アプリは http://127.0.0.1:7860 で起動します。

オプション

# 外部公開する場合(72時間有効な一時URL)
app.launch(share=True)

更新履歴

  • v2.0: JS外部ファイル化、Query全文表示(折り返し対応)、A/B入れ替えボタン追加
  • v1.5: フォーマット不正フィルター、ソート機能、複数フォーマット対応
  • v1.0: 初版リリース

Author

  • claude-opus-4.5
  • Masahito Kumada