Skip to content

Commit fee9123

Browse files
committed
Add Russian physics evaluation class and enhance API error handling
- Introduced `RussianPhysicsEval` class for evaluating physics tasks in Russian, including a structured response format. - Implemented logging for API requests and responses, including error patterns detection. - Increased API retry limits and adjusted sleep intervals for better error handling. - Added rate limiting functionality to manage API request intervals effectively.
1 parent cc3525c commit fee9123

File tree

4 files changed

+953
-168
lines changed

4 files changed

+953
-168
lines changed

runner.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ def main():
1313
os.system('chcp 65001') # Установка кодировки UTF-8 для Windows консоли
1414

1515
parser = argparse.ArgumentParser(
16-
description='Оценка языковых моделей на математических задачах',
16+
description='Оценка языковых моделей на математических и физических задачах',
1717
formatter_class=argparse.RawDescriptionHelpFormatter,
1818
epilog="""
1919
Примеры использования:
20-
python runner.py # Запустить оценку (по умолчанию)
20+
python runner.py # Запустить оценку на всех датасетах (по умолчанию)
2121
python runner.py --dataset russianmath # Запустить только на датасете RussianMath
22+
python runner.py --dataset physics # Запустить только на датасете RussianPhysics
2223
python runner.py --no-cache # Игнорировать кэш и переоценить все модели
2324
python runner.py --max-workers 8 # Использовать 8 параллельных потоков
2425
"""
@@ -29,8 +30,8 @@ def main():
2930
help='Путь к файлу конфигурации (по умолчанию: configs/run.yaml)')
3031
parser.add_argument('--no-cache', action='store_true',
3132
help='Игнорировать кэш и переоценить все модели')
32-
parser.add_argument('--dataset', choices=['all', 'russianmath'], default='all',
33-
help='Выбор датасета для оценки: all (все), russianmath (по умолчанию: all)')
33+
parser.add_argument('--dataset', choices=['all', 'russianmath', 'physics'], default='all',
34+
help='Выбор датасета для оценки: all (все), russianmath, physics (по умолчанию: all)')
3435
args = parser.parse_args()
3536

3637
# Загружаем конфиг
@@ -62,6 +63,15 @@ def main():
6263
print("\nЗапуск оценки на датасете RussianMath")
6364
leaderboard.evaluate_all_models(system_prompts)
6465

66+
if args.dataset == 'all' or args.dataset == 'physics':
67+
print("\nЗапуск оценки на датасете RussianPhysics")
68+
leaderboard.evaluate_physics_models(system_prompts)
69+
70+
# Вычисляем общий скор для моделей (полусумма по обоим датасетам)
71+
if args.dataset == 'all':
72+
print("\nВычисление общего скора по всем датасетам")
73+
leaderboard.calculate_combined_scores()
74+
6575
# Получаем ширину терминала
6676
terminal_width = shutil.get_terminal_size().columns
6777

0 commit comments

Comments
 (0)