feat: vibe code done

This commit is contained in:
2026-01-16 19:58:29 +03:00
parent 408f6b86c6
commit 1a59adf5a5
24 changed files with 889 additions and 1 deletions

View File

@@ -1,3 +1,86 @@
# ai_benchmark
Эксперименты и тестирование LLM, VLM и прочих тулов
Эксперименты и тестирование 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 с таблицами результатов. Каждый бенчмарк будет иметь свой отчет, а также будет создан сводный отчет со статистикой по всем тестам.