Скрапить данные Artificial Analysis (бенчмарки, цены, метаданные моделей) и обновить data/aa_models.json. Оркестрирует три скрипта последовательно.
Пример: /scrape-aa — полный цикл
Пример: /scrape-aa --skip-done — только недостающие данные
Пример: /scrape-aa --limit 20 — первые 20 моделей (для теста)
pip install -r requirements.txt (из корня репо).env в рабочей директории: HF_TOKEN (опционально)aa_benchmarks_scraper.py)python scrape-aa/aa_bulk_scraper.py --output data/aa_models.json
Если добавляется --resume — продолжит с последней позиции.
Если добавляется --benchmarks-only — пропустить этот шаг.
Собирает для каждой модели:
Ожидаемый результат: data/aa_models.json с базовым списком моделей.
python scrape-aa/aa_enrich_metadata.py --data data/aa_models.json
Добавляет из HuggingFace API:
license — из cardData.license / тегов license:xxxmodalities — из pipeline_tag + архитектурных хинтов HF configthinking_mode — определяется из display_name / aa_slugpython scrape-aa/aa_benchmarks_scraper.py [--limit N] [--skip-done]
Скрапит индивидуальные benchmark scores для каждой модели.
--skip-done — пропускает модели у которых уже есть benchmark данные.
После завершения всех трёх шагов — запустить /update-dashboard.
| Ситуация | Действие |
|---|---|
| Шаг 1 упал на середине | Перезапустить с --resume |
| 429 от HF API | Скрипты сами делают retry с backoff; подождать |
| Модель без HF страницы | Записывается с hf_config: null, не критично |
| Firecrawl недоступен | aa_benchmarks_scraper упадёт; остальные шаги независимы |
| Флаг | Описание |
|---|---|
--limit N | Обработать только первые N моделей (тест) |
--skip-done | Пропустить модели с уже заполненными данными |
--benchmarks-only | Только шаг 3 (бенчмарки) |
--resume | Продолжить bulk scraping с последней позиции |
data/aa_models.json — основной файл (обновляется на месте)Вывести сводку:
✓ Artificial Analysis scraping complete
Всего моделей: N
С бенчмарками: M
С лицензией: K
Файл: data/aa_models.json
Затем предложить /update-dashboard.