ai-benchmark/scripts
2026-01-26 17:59:25 +03:00
..
convert_json_to_txt.py feat: add MongoDB test generation and update dependencies 2026-01-22 20:11:52 +03:00
generate_summarization_from_mongo.py feat: upd tests 2026-01-26 17:59:25 +03:00
generate_tests.py feat: add MongoDB test generation and update dependencies 2026-01-22 20:11:52 +03:00
README.md feat: enhance summarization prompt and improve MongoDB test generation 2026-01-23 03:49:22 +03:00
SUMMARIZATION_GENERATION.md feat: upd tests 2026-01-26 17:59:25 +03:00

Скрипты для генерации тестов

Эта директория содержит скрипты для генерации тестовых данных для AI бенчмарка.

Доступные скрипты

1. generate_tests.py

Скрипт для генерации тестовых данных через LLM (Ollama).

Функциональность:

  • Генерация тестов для переводов (translation)
  • Генерация тестов для пересказов (summarization)
  • Генерация тестов для генерации кода (codegen)
  • Валидация generated тестов

Использование:

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 тесты
  • Поддерживает обработку как одной записи, так и нескольких записей из файла

Использование:

# Для обработки одной записи
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 из файла построчно
  • Обрабатывает каждую запись по очереди
  • Выводит прогресс и статистику по обработке
  • Продолжает обработку остальных записей даже при ошибках отдельных записей
  • Выводит подробные логи об ошибках для каждой неудачной записи

Установка зависимостей

Для работы скриптов требуются следующие зависимости:

pip install pymongo

Все зависимости указаны в файле requirements.txt в корне проекта.