Skip to content

Commit 5418f2b

Browse files
authored
Merge pull request #6 from Technolog796/master
Add config example and small fixes
2 parents 64a526b + d7b5750 commit 5418f2b

File tree

6 files changed

+84
-181
lines changed

6 files changed

+84
-181
lines changed

Instruction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ python -m vllm.entrypoints.openai.api_server \
7272

7373
После запуска сервер будет готов принимать запросы по адресу `http://<host_address>:<port_number>`.
7474

75-
## 3. Использование с бенчмарком DeathMath
75+
## 3. Использование с бенчмарком Doom
7676

7777
Этот бенчмарк использует конфигурационный файл (`configs/run.yaml`) для определения моделей и их API-эндпоинтов. Чтобы добавить вашу локально запущенную модель через VLLM в бенчмарк:
7878

README.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
# DeathMath Benchmark
1+
# Doom Benchmark
22

33
<p align="center">
4-
<img src="images/Logo.png" alt="DeathMath Logo" width="300"/>
4+
<img src="images/Logo.png" alt="Doom Logo" width="300"/>
55
</p>
66

77
<p align="center">
@@ -10,11 +10,11 @@
1010
<a href="https://huggingface.co/spaces/Vikhrmodels/DOoM-lb"><img src="https://img.shields.io/badge/🤗-HuggingFace%20Space-yellow.svg" alt="HuggingFace Space"/></a>
1111
</p>
1212

13-
DeathMath - бенчмарк для оценки качества языковых моделей на математических и физических задачах на русском языке.
13+
Doom - бенчмарк для оценки качества языковых моделей на математических и физических задачах на русском языке.
1414

1515
## 📖 О проекте
1616

17-
DeathMath - это инструмент для тестирования и оценки способности языковых моделей (LLM) решать задачи по математике и физике. Бенчмарк позволяет:
17+
Doom - это инструмент для тестирования и оценки способности языковых моделей (LLM) решать задачи по математике и физике. Бенчмарк позволяет:
1818

1919
- Измерять точность решения математических задач
2020
- Оценивать понимание физических концепций и способность решать задачи по физике
@@ -99,6 +99,10 @@ model_list:
9999
- gpt-4o
100100
- claude-3-opus-20240229
101101

102+
# Общие настройки (применяются ко всем моделям, если не переопределены)
103+
# num_examples: 100 # Опционально: Ограничить количество примеров для каждого датасета (по умолчанию используются все)
104+
# debug: false # Опционально: Включить режим отладки
105+
102106
gpt-4o:
103107
model_name: gpt-4o
104108
endpoints:
@@ -108,8 +112,28 @@ gpt-4o:
108112
parallel: 1
109113
system_prompt: "Вы - полезный помощник по математике и физике. Ответьте на русском языке."
110114
max_tokens: 32000
115+
# num_examples: 50 # Опционально: Переопределить количество примеров для этой модели
116+
117+
claude-3-opus-20240229:
118+
# ... конфигурация для Claude ...
111119
```
112120

121+
**Описание параметров конфигурации:**
122+
123+
* `model_list`: Список моделей для оценки.
124+
* `[model_name]`: Блок конфигурации для конкретной модели. Имя блока должно совпадать с именем в `model_list`.
125+
* `model_name`: Имя модели (может отличаться от ключа блока, например, для локальных моделей).
126+
* `endpoints`: Список эндпоинтов API.
127+
* `api_base` / `base_url`: URL API.
128+
* `api_key` / `credentials`: Ключ API или учетные данные (зависит от `api_type`).
129+
* `api_type`: Тип API (`openai`, `gigachat` и т.д.).
130+
* `parallel`: Количество параллельных запросов к API для этой модели.
131+
* `system_prompt`: Системный промпт для модели.
132+
* `max_tokens`: Максимальное количество токенов в ответе.
133+
* `num_examples` (Опционально): Количество примеров для оценки этой модели. Переопределяет глобальное значение `num_examples`. **По умолчанию используются все доступные примеры из датасета.**
134+
* `num_examples` (Глобально, Опционально): Количество примеров для оценки для всех моделей, если не переопределено в блоке модели. **По умолчанию используются все доступные примеры из датасета.**
135+
* `debug` (Глобально, Опционально): Включить режим отладки для вывода дополнительной информации.
136+
113137
## 📝 Результаты тестирования
114138

115139
После запуска оценки автоматически будет сгенерирована таблица лидеров.
@@ -139,7 +163,7 @@ gpt-4o:
139163

140164
## 🧪 Тестирование собственной модели
141165

142-
Чтобы протестировать собственную модель на бенчмарке DeathMath:
166+
Чтобы протестировать собственную модель на бенчмарке Doom:
143167

144168
1. Разверните свою модель локально или через API
145169
2. Добавьте конфигурацию вашей модели в `configs/run.yaml`
@@ -162,4 +186,4 @@ gpt-4o:
162186

163187
## 📄 Лицензия
164188

165-
Проект распространяется под лицензией Apache 2.0. См. файл LICENSE для получения дополнительной информации.
189+
Проект распространяется под лицензией Apache 2.0. См. файл LICENSE для получения дополнительной информации.

configs/.keep

Whitespace-only changes.

configs/example_config.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Пример конфигурационного файла для Doom Benchmark
2+
3+
# Список моделей для оценки
4+
model_list:
5+
- gpt-4o-mini # Пример модели OpenAI
6+
- gigachat-pro # Пример модели GigaChat
7+
# - llama3-70b-local # Пример локально запущенной модели
8+
9+
# --- Общие настройки (применяются ко всем моделям, если не переопределены) ---
10+
11+
# num_examples: 100 # Опционально: Ограничить количество примеров для каждого датасета.
12+
# Если закомментировано или отсутствует, используются ВСЕ примеры.
13+
# debug: false # Опционально: Включить режим отладки для подробного вывода (по умолчанию false).
14+
15+
# --- Конфигурация для конкретных моделей ---
16+
17+
gpt-4o-mini:
18+
model_name: gpt-4o-mini # Имя модели, как оно будет отображаться в результатах
19+
endpoints:
20+
- api_base: "https://api.openai.com/v1" # URL эндпоинта API
21+
api_key: "YOUR_OPENAI_API_KEY" # Ваш API ключ OpenAI (нужно заменить!)
22+
api_type: openai # Тип API (openai, gigachat)
23+
parallel: 2 # Количество параллельных запросов к API для этой модели
24+
system_prompt: "Ты - полезный ИИ-ассистент, решающий задачи по математике и физике. Отвечай на русском языке." # Системный промпт
25+
max_tokens: 32000 # Максимальное количество токенов в ответе модели
26+
# num_examples: 50 # Опционально: Переопределить количество примеров только для этой модели
27+
28+
gigachat-pro:
29+
model_name: GigaChat Pro # Имя модели для отображения
30+
endpoints:
31+
- base_url: "https://gigachat.devices.sberbank.ru/api/v1" # URL эндпоинта GigaChat API
32+
credentials: "YOUR_GIGACHAT_API_CREDENTIALS" # Ваши данные для использования GigaChat (нужно заменить!)
33+
api_type: gigachat
34+
parallel: 1
35+
system_prompt: "Реши предоставленную задачу по математике или физике. Отвечай на русском языке."
36+
max_tokens: 8000
37+
verify_ssl_certs: false # Опционально: Отключить проверку SSL-сертификата (если необходимо)
38+
39+
# llama3-70b-local:
40+
# model_name: Llama3-70B (Local VLLM)
41+
# endpoints:
42+
# - api_base: "http://localhost:8000/v1" # URL вашего локального VLLM сервера
43+
# api_key: "dummy-key" # Ключ API (может быть любым для VLLM по умолчанию)
44+
# api_type: openai
45+
# parallel: 4
46+
# system_prompt: "You are a helpful assistant. Answer in Russian." # Промпт может быть на английском, если модель лучше его понимает
47+
# max_tokens: 8192

readme.md

Lines changed: 0 additions & 165 deletions
This file was deleted.

src/mat_boy.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class RussianMathEval(Eval):
3030
def __init__(
3131
self,
3232
equality_checker: SamplerBase,
33-
num_examples: Optional[int] = 5,
33+
num_examples: Optional[int] = None,
3434
n_repeats: int = 1,
3535
debug: bool = False,
3636
) -> None:
@@ -51,8 +51,6 @@ def __init__(
5151

5252
if num_examples and num_examples > 0:
5353
examples = examples[:num_examples]
54-
else:
55-
examples = examples[:5]
5654

5755
self.examples: List[Dict[str, str]] = examples * n_repeats
5856
self.equality_checker: SamplerBase = equality_checker
@@ -145,7 +143,7 @@ class RussianPhysicsEval(Eval):
145143
def __init__(
146144
self,
147145
equality_checker: SamplerBase,
148-
num_examples: Optional[int] = 5,
146+
num_examples: Optional[int] = None,
149147
n_repeats: int = 1,
150148
debug: bool = False,
151149
) -> None:
@@ -165,8 +163,6 @@ def __init__(
165163

166164
if num_examples and num_examples > 0:
167165
examples = examples[:num_examples]
168-
else:
169-
examples = examples[:5]
170166

171167
self.examples: List[Dict[str, str]] = examples * n_repeats
172168
self.equality_checker: SamplerBase = equality_checker
@@ -257,7 +253,10 @@ class MathDemonEval(Eval):
257253
"""
258254

259255
def __init__(
260-
self, subset_name: str, num_examples: Optional[int] = 1, debug: bool = False
256+
self,
257+
subset_name: str,
258+
num_examples: Optional[int] = None,
259+
debug: bool = False,
261260
) -> None:
262261
"""
263262
Инициализирует оценку на подсетах MathDemon_Demidovich.
@@ -275,8 +274,6 @@ def __init__(
275274

276275
if num_examples and num_examples > 0:
277276
examples = examples[:num_examples]
278-
else:
279-
examples = examples[:5]
280277

281278
self.examples: List[Dict[str, str]] = examples
282279
self.debug: bool = debug

0 commit comments

Comments
 (0)