- Updated summarization prompt to require Russian output and exclude non-textual elements - Upgraded ollama dependency to v0.6.1 - Enhanced run.sh script to support both single record and file-based ID input for MongoDB test generation - Updated documentation in scripts/README.md to reflect new functionality - Added verbose flag to generate_summarization_from_mongo.py for better debugging ``` This commit message follows the conventional commit format with a short title (50-72 characters) and provides a clear description of the changes made and their purpose.
81 lines
4.2 KiB
Markdown
81 lines
4.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`)
|
||
- Генерирует тестовые данные в формате TXT для бенчмарка AI
|
||
- Валидирует generated тесты
|
||
- Поддерживает обработку как одной записи, так и нескольких записей из файла
|
||
|
||
**Использование:**
|
||
```bash
|
||
# Для обработки одной записи
|
||
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 из файла построчно
|
||
- Обрабатывает каждую запись по очереди
|
||
- Выводит прогресс и статистику по обработке
|
||
- Продолжает обработку остальных записей даже при ошибках отдельных записей
|
||
- Выводит подробные логи об ошибках для каждой неудачной записи
|
||
|
||
## Установка зависимостей
|
||
|
||
Для работы скриптов требуются следующие зависимости:
|
||
|
||
```bash
|
||
pip install pymongo
|
||
```
|
||
|
||
Все зависимости указаны в файле `requirements.txt` в корне проекта.
|