Files
arena-leaderboard-parser/README.md
T

3.0 KiB
Raw Blame History

Arena.ai Leaderboard Parser & OmniRoute Benchmark

Парсер лидерборда arena.ai (LMSYS Chatbot Arena) с 24-часовым кешированием и обходом Cloudflare WAF, а также инструмент бенчмаркинга и матчинга моделей со шлюзом OmniRoute.

🚀 Возможности

  1. Обход Cloudflare WAF / Anti-Bot:

    • Автоматически использует stealth-экстрактор (Firecrawl / keyless failover-кольцо) для гарантированного получения актуальных данных таблицы арены без блокировок HTTP 403.
    • Fallback на сырой HTML при отсутствии WAF.
  2. Поддержка бордов:

    • text (416 моделей): Rank, Arena Score (ELO ±CI), Spread, Votes, Price, Context.
    • agent (54 модели): Tool-calling метрики (Net Improvement, Confirmed Success, Steerability, Bash Recovery, Tool Hallucination, Sessions, Cost/Task).
  3. Интеграция с OmniRoute (omniroute_arena_report.py):

    • Авторизация через Bearer OMNIROUTE_API_KEY.
    • Liveness-проверка всех моделей провайдера коротким вызовом («2+2»).
    • Интеллектуальный матчинг моделей гейтвея с мировым рейтингом LMSYS Arena (учёт reasoning-суффиксов -high, -medium, -low, -thinking).
    • Формирование наглядного отчёта в Markdown.

📦 Структура репозитория

  • arena_leaderboard.py — основной CLI и Python API парсера лидерборда.
  • omniroute_arena_report.py — прогон моделей OmniRoute и генерация арена-отчёта.

🛠 Использование

CLI

# Топ-10 моделей текстового лидерборда
python3 arena_leaderboard.py

# Рейтинг конкретной модели
python3 arena_leaderboard.py glm-5.3-max

# Поиск моделей по подстроке
python3 arena_leaderboard.py --search gemini

# Принудительное обновление кеша мимо TTL
python3 arena_leaderboard.py --refresh

# Агентный лидерборд (tool-calling)
python3 arena_leaderboard.py --board agent
python3 arena_leaderboard.py --board agent "Claude Opus 5.5 (Max)"

OmniRoute Liveness & Arena Match Report

# Проверить всех провайдеров / конкретного провайдера (например, agy, openrouter, zai)
python3 omniroute_arena_report.py --provider agy
python3 omniroute_arena_report.py --provider zai

Python API

from arena_leaderboard import get_leaderboard, get_model_rating, search_models

# Получить рейтинг модели
rating = get_model_rating("glm-5.3-max")
print(rating)

# Поиск
gemini_models = search_models("gemini-3.8")