87 lines
3.7 KiB
Markdown
87 lines
3.7 KiB
Markdown
# 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 с таблицами результатов. Каждый бенчмарк будет иметь свой отчет, а также будет создан сводный отчет со статистикой по всем тестам.
|