# ai_benchmark Эксперименты и тестирование LLM, VLM и прочих тулов ## Установка ```bash pip install -r requirements.txt ``` ## Использование ```bash python src/main.py --model llama3 --ollama-url http://localhost:11434 ``` ### Аргументы - `--model`: Название модели для тестирования (обязательный) - `--ollama-url`: URL подключения к Ollama серверу (обязательный) - `--benchmarks`: Список бенчмарков для выполнения (translation, summarization, codegen). По умолчанию все. - `--output`: Директория для сохранения результатов. По умолчанию: `results` - `--verbose`: Подробный режим вывода ### Примеры Запуск всех бенчмарков: ```bash python src/main.py --model llama3 --ollama-url http://localhost:11434 ``` Запуск только тестов переводов: ```bash python src/main.py --model llama3 --ollama-url http://localhost:11434 --benchmarks translation ``` Запуск с подробным выводом: ```bash python src/main.py --model llama3 --ollama-url http://localhost:11434 --verbose ``` ## Структура проекта ``` ai-benchmark/ ├── src/ │ ├── benchmarks/ # Модули с тестовыми наборами │ │ ├── translation.py # Тесты переводов │ │ ├── summarization.py # Тесты пересказов │ │ ├── codegen.py # Тесты генерации кода │ │ └── base.py # Базовый класс для тестов │ ├── models/ # Модули для работы с моделями │ │ └── ollama_client.py # Клиент для Ollama │ ├── utils/ # Утилиты │ │ └── report.py # Генерация отчетов │ └── main.py # Основной скрипт запуска ├── tests/ # Тестовые данные │ ├── translation/ # Данные для тестов переводов │ ├── summarization/ # Данные для тестов пересказов │ └── codegen/ # Данные для тестов генерации кода ├── results/ # Результаты выполнения ├── requirements.txt # Зависимости проекта └── README.md # Документация ``` ## Добавление новых тестов 1. Создайте новый файл в `src/benchmarks/` наследуя от `Benchmark` 2. Реализуйте методы `load_test_data()` и `evaluate()` 3. Добавьте тестовые данные в соответствующую директорию в `tests/` 4. Обновите список бенчмарков в `src/main.py` ## Формат тестовых данных Тестовые данные должны быть в формате JSON: ```json { "prompt": "Текст промпта для модели", "expected": "Ожидаемый ответ" } ``` ## Результаты После выполнения бенчмарков в директории `results/` будут сгенерированы файлы в формате Markdown с таблицами результатов. Каждый бенчмарк будет иметь свой отчет, а также будет создан сводный отчет со статистикой по всем тестам.