ai-benchmark/README.md

87 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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