Эксперименты и тестирование LLM, VLM и прочих тулов
| results/rnj-1:8b | ||
| src | ||
| tests | ||
| README.md | ||
| requirements.txt | ||
| run.sh | ||
ai_benchmark
Эксперименты и тестирование LLM, VLM и прочих тулов
Установка
pip install -r requirements.txt
Использование
python src/main.py --model llama3 --ollama-url http://localhost:11434
Аргументы
--model: Название модели для тестирования (обязательный)--ollama-url: URL подключения к Ollama серверу (обязательный)--benchmarks: Список бенчмарков для выполнения (translation, summarization, codegen). По умолчанию все.--output: Директория для сохранения результатов. По умолчанию:results--verbose: Подробный режим вывода
Примеры
Запуск всех бенчмарков:
python src/main.py --model llama3 --ollama-url http://localhost:11434
Запуск только тестов переводов:
python src/main.py --model llama3 --ollama-url http://localhost:11434 --benchmarks translation
Запуск с подробным выводом:
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 # Документация
Добавление новых тестов
- Создайте новый файл в
src/benchmarks/наследуя отBenchmark - Реализуйте методы
load_test_data()иevaluate() - Добавьте тестовые данные в соответствующую директорию в
tests/ - Обновите список бенчмарков в
src/main.py
Формат тестовых данных
Тестовые данные должны быть в формате JSON:
{
"prompt": "Текст промпта для модели",
"expected": "Ожидаемый ответ"
}
Результаты
После выполнения бенчмарков в директории results/ будут сгенерированы файлы в формате Markdown с таблицами результатов. Каждый бенчмарк будет иметь свой отчет, а также будет создан сводный отчет со статистикой по всем тестам.