feat: add test generation scripts and update documentation
- Added scripts directory with generate_tests.py for automated test generation - Added prompts directory with category-specific prompts for test generation - Updated README with documentation for test generation workflow - Modified test data format to TXT with '=== разделитель ===' separator - Enhanced documentation with sections on test generation, validation, and reporting - Added detailed instructions for using the new test generation capabilities
This commit is contained in:
parent
2a04e6c089
commit
d8785ada8a
60
README.md
60
README.md
@ -88,13 +88,21 @@ ai-benchmark/
|
||||
│ ├── models/ # Модули для работы с моделями
|
||||
│ │ └── ollama_client.py # Клиент для Ollama
|
||||
│ ├── utils/ # Утилиты
|
||||
│ │ └── report.py # Генерация отчетов
|
||||
│ │ ├── report.py # Генерация отчетов
|
||||
│ │ └── scoring.py # Вычисление метрик оценки качества
|
||||
│ └── main.py # Основной скрипт запуска
|
||||
├── tests/ # Тестовые данные
|
||||
│ ├── translation/ # Данные для тестов переводов
|
||||
│ ├── summarization/ # Данные для тестов пересказов
|
||||
│ └── codegen/ # Данные для тестов генерации кода
|
||||
├── results/ # Результаты выполнения
|
||||
├── scripts/ # Скрипты для работы с проектом
|
||||
│ ├── generate_tests.py # Скрипт для генерации тестов
|
||||
│ └── README.md # Документация по скриптам
|
||||
├── prompts/ # Промпты для генерации тестов
|
||||
│ ├── translation.txt # Промпты для тестов перевода
|
||||
│ ├── summarization.txt # Промпты для тестов пересказа
|
||||
│ └── codegen.txt # Промпты для тестов генерации кода
|
||||
├── requirements.txt # Зависимости проекта
|
||||
└── README.md # Документация
|
||||
```
|
||||
@ -108,14 +116,17 @@ ai-benchmark/
|
||||
|
||||
## Формат тестовых данных
|
||||
|
||||
Тестовые данные должны быть в формате JSON:
|
||||
Тестовые данные должны быть в формате TXT с разделителем:
|
||||
|
||||
```json
|
||||
{
|
||||
"prompt": "Текст промпта для модели",
|
||||
"expected": "Ожидаемый ответ"
|
||||
}
|
||||
```
|
||||
Текст промпта для модели
|
||||
=== разделитель ===
|
||||
Ожидаемый ответ
|
||||
```
|
||||
|
||||
Файл должен содержать два разделенных строкой `=== разделитель ===` поля:
|
||||
- Первая строка - промпт для модели
|
||||
- Вторая строка - ожидаемый ответ
|
||||
|
||||
## Результаты
|
||||
|
||||
@ -159,3 +170,38 @@ ai-benchmark/
|
||||
- Precision = 1/2 = 0.5
|
||||
- Recall = 1/2 = 0.5
|
||||
- F1-score = 2 × (0.5 × 0.5) / (0.5 + 0.5) = 0.5
|
||||
|
||||
## Дополнительные возможности
|
||||
|
||||
### Генерация тестов
|
||||
|
||||
Скрипт `scripts/generate_tests.py` позволяет автоматически генерировать тесты для всех категорий:
|
||||
- **Переводы** (translation): генерирует английские предложения и их переводы на русский
|
||||
- **Пересказы** (summarization): генерирует тексты и их пересказы
|
||||
- **Генерация кода** (codegen): генерирует задачи и соответствующий код
|
||||
|
||||
Тесты генерируются с использованием LLM и сохраняются в формате TXT с разделителем `=== разделитель ===`.
|
||||
|
||||
### Валидация тестов
|
||||
|
||||
Скрипт поддерживает валидацию тестов:
|
||||
```bash
|
||||
python scripts/generate_tests.py --validate tests/translation
|
||||
```
|
||||
|
||||
Валидация проверяет:
|
||||
- Соответствие формату (наличие разделителя)
|
||||
- Наличие обязательных полей
|
||||
- Корректность содержания
|
||||
|
||||
### Промпты
|
||||
|
||||
В директории `prompts/` хранятся промпты, используемые для генерации тестов. Каждый файл содержит специфические инструкции для каждой категории задач.
|
||||
|
||||
### Результаты отчетов
|
||||
|
||||
Отчеты генерируются в формате Markdown и содержат:
|
||||
- Таблицы с результатами каждого теста
|
||||
- Статистику по каждой метрике
|
||||
- Сводные данные по всем тестам
|
||||
- Сравнение результатов между разными моделями
|
||||
|
||||
Loading…
Reference in New Issue
Block a user