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/ # Модули для работы с моделями
|
│ ├── models/ # Модули для работы с моделями
|
||||||
│ │ └── ollama_client.py # Клиент для Ollama
|
│ │ └── ollama_client.py # Клиент для Ollama
|
||||||
│ ├── utils/ # Утилиты
|
│ ├── utils/ # Утилиты
|
||||||
│ │ └── report.py # Генерация отчетов
|
│ │ ├── report.py # Генерация отчетов
|
||||||
|
│ │ └── scoring.py # Вычисление метрик оценки качества
|
||||||
│ └── main.py # Основной скрипт запуска
|
│ └── main.py # Основной скрипт запуска
|
||||||
├── tests/ # Тестовые данные
|
├── tests/ # Тестовые данные
|
||||||
│ ├── translation/ # Данные для тестов переводов
|
│ ├── translation/ # Данные для тестов переводов
|
||||||
│ ├── summarization/ # Данные для тестов пересказов
|
│ ├── summarization/ # Данные для тестов пересказов
|
||||||
│ └── codegen/ # Данные для тестов генерации кода
|
│ └── codegen/ # Данные для тестов генерации кода
|
||||||
├── results/ # Результаты выполнения
|
├── results/ # Результаты выполнения
|
||||||
|
├── scripts/ # Скрипты для работы с проектом
|
||||||
|
│ ├── generate_tests.py # Скрипт для генерации тестов
|
||||||
|
│ └── README.md # Документация по скриптам
|
||||||
|
├── prompts/ # Промпты для генерации тестов
|
||||||
|
│ ├── translation.txt # Промпты для тестов перевода
|
||||||
|
│ ├── summarization.txt # Промпты для тестов пересказа
|
||||||
|
│ └── codegen.txt # Промпты для тестов генерации кода
|
||||||
├── requirements.txt # Зависимости проекта
|
├── requirements.txt # Зависимости проекта
|
||||||
└── README.md # Документация
|
└── README.md # Документация
|
||||||
```
|
```
|
||||||
@ -108,14 +116,17 @@ ai-benchmark/
|
|||||||
|
|
||||||
## Формат тестовых данных
|
## Формат тестовых данных
|
||||||
|
|
||||||
Тестовые данные должны быть в формате JSON:
|
Тестовые данные должны быть в формате TXT с разделителем:
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"prompt": "Текст промпта для модели",
|
|
||||||
"expected": "Ожидаемый ответ"
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
|
Текст промпта для модели
|
||||||
|
=== разделитель ===
|
||||||
|
Ожидаемый ответ
|
||||||
|
```
|
||||||
|
|
||||||
|
Файл должен содержать два разделенных строкой `=== разделитель ===` поля:
|
||||||
|
- Первая строка - промпт для модели
|
||||||
|
- Вторая строка - ожидаемый ответ
|
||||||
|
|
||||||
## Результаты
|
## Результаты
|
||||||
|
|
||||||
@ -159,3 +170,38 @@ ai-benchmark/
|
|||||||
- Precision = 1/2 = 0.5
|
- Precision = 1/2 = 0.5
|
||||||
- Recall = 1/2 = 0.5
|
- Recall = 1/2 = 0.5
|
||||||
- F1-score = 2 × (0.5 × 0.5) / (0.5 + 0.5) = 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