Updated import paths to use direct module references instead of relative paths. Implemented dynamic benchmark discovery based on the contents of the tests/ directory, allowing for more flexible benchmark configuration without requiring code changes. This change improves maintainability and makes it easier to add new benchmarks.
Скрипты для генерации тестов
Эта директория содержит скрипты для генерации тестовых данных для AI бенчмарка.
Доступные скрипты
1. generate_tests.py
Скрипт для генерации тестовых данных через LLM (Ollama).
Функциональность:
- Генерация тестов для переводов (translation)
- Генерация тестов для пересказов (summarization)
- Генерация тестов для генерации кода (codegen)
- Валидация generated тестов
Использование:
python scripts/generate_tests.py --count 2 --category translation --model second_constantine/t-lite-it-1.0:7b --ollama-url http://10.0.0.4:11434
Параметры:
--count: Количество тестов для генерации (по умолчанию: 1)--category: Категория тестов (translation, summarization, codegen, или all) (по умолчанию: all)--model: Название модели для генерации тестов (обязательный параметр)--ollama-url: URL подключения к Ollama серверу (обязательный параметр)--validate: Валидировать тесты в указанной директории
2. generate_summarization_from_mongo.py
Скрипт для генерации тестов пересказов из MongoDB.
Функциональность:
- Извлекает текст статьи из коллекции
rssNotification(поле.meta.topicContent) - Генерирует тестовые данные в формате TXT для бенчмарка AI
- Валидирует generated тесты
- Поддерживает обработку как одной записи, так и нескольких записей из файла
Использование:
# Для обработки одной записи
python scripts/generate_summarization_from_mongo.py --record-id 507f1f77bcf86cd799439011
# Для обработки нескольких записей из файла
python scripts/generate_summarization_from_mongo.py --id-file ids.txt
Параметры:
--record-id: ID записи в MongoDB (для обработки одной записи)--id-file: Файл с ID записей (по одной на строку, для обработки нескольких записей)- Примечание: Укажите либо
--record-id, либо--id-file, но не оба одновременно
- Примечание: Укажите либо
Требования:
- Доступ к MongoDB кластеру (10.0.0.3, 10.0.0.4, 10.0.0.5)
- Установленный пакет
pymongo(автоматически устанавливается при первом запуске)
Формат generated тестов:
Summarize the following text in 1-2 sentences: 'Текст статьи из MongoDB'
Ожидаемый пересказ (если доступен)
Примечание: Тесты генерируются в формате TXT с разделителем ==============. Поле "expected" может быть пустым, если генерация пересказа не удалась.
Обработка файла с ID:
- Скрипт читает ID из файла построчно
- Обрабатывает каждую запись по очереди
- Выводит прогресс и статистику по обработке
- Продолжает обработку остальных записей даже при ошибках отдельных записей
- Выводит подробные логи об ошибках для каждой неудачной записи
Установка зависимостей
Для работы скриптов требуются следующие зависимости:
pip install pymongo
Все зависимости указаны в файле requirements.txt в корне проекта.