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