Update documentation to reflect new TXT format with separator for summarization tests instead of JSON format. Clarify that expected field may be empty if summary generation fails. feat: change test generation to TXT format with separator Change test generation from JSON to TXT format with TEST_SEPARATOR. Add filename sanitization function to handle MongoDB record IDs. Update output path and file naming logic. Add attempt to generate expected summary through LLM with fallback to empty string.
68 lines
3.2 KiB
Markdown
68 lines
3.2 KiB
Markdown
# Скрипты для генерации тестов
|
||
|
||
Эта директория содержит скрипты для генерации тестовых данных для AI бенчмарка.
|
||
|
||
## Доступные скрипты
|
||
|
||
### 1. `generate_tests.py`
|
||
|
||
Скрипт для генерации тестовых данных через LLM (Ollama).
|
||
|
||
**Функциональность:**
|
||
- Генерация тестов для переводов (translation)
|
||
- Генерация тестов для пересказов (summarization)
|
||
- Генерация тестов для генерации кода (codegen)
|
||
- Валидация generated тестов
|
||
|
||
**Использование:**
|
||
```bash
|
||
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`)
|
||
- Генерирует тестовые данные в формате JSON для бенчмарка AI
|
||
- Валидирует generated тесты
|
||
|
||
**Использование:**
|
||
```bash
|
||
python scripts/generate_summarization_from_mongo.py --record-id 507f1f77bcf86cd799439011
|
||
```
|
||
|
||
**Параметры:**
|
||
- `--record-id`: ID записи в MongoDB (обязательный параметр)
|
||
- `--output-dir`: Директория для сохранения generated тестов (по умолчанию: tests/summarization)
|
||
|
||
**Требования:**
|
||
- Доступ к 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" может быть пустым, если генерация пересказа не удалась.
|
||
|
||
## Установка зависимостей
|
||
|
||
Для работы скриптов требуются следующие зависимости:
|
||
|
||
```bash
|
||
pip install pymongo
|
||
```
|
||
|
||
Все зависимости указаны в файле `requirements.txt` в корне проекта.
|