from src.display.utils import ModelType
TITLE = """
DeathMath Leaderboard
Оценка моделей на сложных математических и физических задачах
"""
INTRODUCTION_TEXT = """
# DeathMath Benchmark
DeathMath - это бенчмарк для оценки способности моделей решать сложные математические и физические задачи на русском языке.
## Что оценивает бенчмарк?
- **RussianMath Score**: Оценка способности решать математические задачи на русском языке
- **RussianPhysics Score**: Оценка способности решать задачи по физике на русском языке
- **Combined Score**: Общая оценка (среднее математики и физики)
"""
# Определяем переменную icons для использования в EVALUATION_QUEUE_TEXT
icons = """
- 🟢 pretrained model: базовые модели
- 🟩 continuously pretrained model: модели с продолженным предобучением
- 🔶 fine-tuned model: дообученные модели на специфических данных
- 💬 chat model: модели для диалогов (RLHF, DPO, IFT)
- 🤝 merged model: объединенные модели
"""
LLM_BENCHMARKS_TEXT = """
## Как запустить бенчмарк DeathMath
Для оценки вашей модели на бенчмарке DeathMath вам нужно:
### Установка
Клонируйте репозиторий DeathMath и установите необходимые зависимости:
```bash
git clone https://github.com/DeathMath/benchmark.git
cd DeathMath
pip install -r requirements.txt
```
### Запуск
Для запуска оценки используйте скрипт runner.py:
```bash
python runner.py --config configs/run.yaml --model your_model_name_or_path
```
### Формат результатов
После выполнения оценки, результаты будут сохранены в директории `results/`. Вам нужно будет подготовить JSON файл с результатами в следующем формате:
```json
{
"score": 0.586,
"math_score": 0.8,
"physics_score": 0.373,
"total_tokens": 1394299,
"evaluation_time": 4533.2,
"system_prompt": "Вы - полезный помощник по математике и физике. Ответьте на русском языке."
}
```
### Загрузка результатов
Загрузите полученный JSON файл через вкладку "Submit Model" на этом лидерборде.
### Политика против читерства
При обнаружении попыток манипуляции результатами или модификации выходного файла, мы оставляем за собой право удалить ваш результат из лидерборда.
"""
FAQ_TEXT = """
## Часто задаваемые вопросы
### Общие вопросы
**Q: Какие типы моделей поддерживаются?**
A: Мы поддерживаем любые языковые модели, которые можно запустить локально или через API, и которые могут решать задачи на русском языке.
**Q: Как оцениваются модели в бенчмарке?**
A: Модели оцениваются по способности решать математические и физические задачи на русском языке. Оценки выставляются на основе правильности решений.
### Отправка результатов
**Q: Как отправить результаты моей модели?**
A: Запустите оценку, подготовьте JSON файл с результатами и загрузите его через вкладку "Submit Model".
**Q: Могу ли я обновить результаты моей модели?**
A: Да, вы можете отправить новые результаты той же модели, если, например, вы улучшили ее работу.
### Технические вопросы
**Q: Что делать, если возникли проблемы с запуском оценки?**
A: Проверьте правильность установки всех зависимостей и конфигурации. Если проблема не решается, создайте issue в репозитории проекта.
**Q: Как проверяются результаты на достоверность?**
A: Мы анализируем распределение результатов и подозрительные результаты могут быть проверены дополнительно.
"""
EVALUATION_QUEUE_TEXT = f"""
# Evaluation Queue for the 🤗 Open LLM Leaderboard
Models added here will be automatically evaluated on the 🤗 cluster.
## Don't forget to read the FAQ and the About tabs for more information!
## First steps before submitting a model
### 1) Make sure you can load your model and tokenizer using AutoClasses:
```python
from transformers import AutoConfig, AutoModel, AutoTokenizer
config = AutoConfig.from_pretrained("your model name", revision=revision)
model = AutoModel.from_pretrained("your model name", revision=revision)
tokenizer = AutoTokenizer.from_pretrained("your model name", revision=revision)
```
If this step fails, follow the error messages to debug your model before submitting it. It's likely your model has been improperly uploaded.
Note: make sure your model is public!
Note: if your model needs `use_remote_code=True`, we do not support this option yet but we are working on adding it, stay posted!
### 2) Convert your model weights to [safetensors](https://huggingface.co/docs/safetensors/index)
It's a new format for storing weights which is safer and faster to load and use. It will also allow us to add the number of parameters of your model to the `Extended Viewer`!
### 3) Make sure your model has an open license!
This is a leaderboard for Open LLMs, and we'd love for as many people as possible to know they can use your model 🤗
### 4) Fill up your model card
When we add extra information about models to the leaderboard, it will be automatically taken from the model card
### 5) Select the correct precision
Not all models are converted properly from `float16` to `bfloat16`, and selecting the wrong precision can sometimes cause evaluation error (as loading a `bf16` model in `fp16` can sometimes generate NaNs, depending on the weight range).
Note: Please be advised that when submitting, git branches and tags will be strictly tied to the specific commit present at the time of submission. This ensures revision consistency.
## Model types
{icons}
"""
CITATION_BUTTON_LABEL = "Цитирование бенчмарка DeathMath"
CITATION_BUTTON_TEXT = r"""
@misc{deathmathbenchmark,
title = {DeathMath: A Benchmark for Mathematical and Physics Problem Solving in Russian},
year = {2025},
publisher = {DeathMath Team},
howpublished = {\url{https://huggingface.co/spaces/DeathMath/leaderboard}}
}
"""