ai-benchmark/scripts/README.md
second_constantine 2048e4e40d feat: enhance summarization prompt and improve MongoDB test generation
- 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.
2026-01-23 03:49:22 +03:00

81 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Скрипты для генерации тестов
Эта директория содержит скрипты для генерации тестовых данных для 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` в корне проекта.