diff --git a/README.md b/README.md index 0b63d7f..a1e256e 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ python src/main.py --model llama3 --ollama-url http://localhost:11434 - `--benchmarks`: Список бенчмарков для выполнения (translation, summarization, codegen). По умолчанию все. - `--output`: Директория для сохранения результатов. По умолчанию: `results` - `--verbose`: Подробный режим вывода +- `--context-size`: Размер контекста для модели (по умолчанию: 32000) ### Примеры @@ -80,39 +81,45 @@ python src/main.py --model llama3 --ollama-url http://localhost:11434 ``` ai-benchmark/ ├── src/ -│ ├── benchmarks/ # Модули с тестовыми наборами -│ │ ├── translation.py # Тесты переводов -│ │ ├── summarization.py # Тесты пересказов -│ │ ├── codegen.py # Тесты генерации кода -│ │ └── base.py # Базовый класс для тестов -│ ├── models/ # Модули для работы с моделями -│ │ └── ollama_client.py # Клиент для Ollama -│ ├── utils/ # Утилиты -│ │ ├── report.py # Генерация отчетов -│ │ └── scoring.py # Вычисление метрик оценки качества -│ └── main.py # Основной скрипт запуска -├── tests/ # Тестовые данные -│ ├── translation/ # Данные для тестов переводов -│ ├── summarization/ # Данные для тестов пересказов -│ └── codegen/ # Данные для тестов генерации кода -├── results/ # Результаты выполнения -├── scripts/ # Скрипты для работы с проектом -│ ├── generate_tests.py # Скрипт для генерации тестов -│ └── README.md # Документация по скриптам -├── prompts/ # Промпты для генерации тестов -│ ├── translation.txt # Промпты для тестов перевода -│ ├── summarization.txt # Промпты для тестов пересказа -│ └── codegen.txt # Промпты для тестов генерации кода -├── requirements.txt # Зависимости проекта -└── README.md # Документация +│ ├── benchmark.py # Базовый класс для всех бенчмарков +│ ├── constants.py # Константы проекта +│ ├── main.py # Основной скрипт запуска +│ ├── ollama_client.py # Клиент для работы с Ollama +│ ├── report.py # Генерация отчетов +│ └── scoring.py # Вычисление метрик оценки качества +├── tests/ # Тестовые данные (динамическое обнаружение бенчмарков) +│ ├── translation/ # Данные для тестов переводов +│ ├── summarization/ # Данные для тестов пересказов +│ ├── codegen/ # Данные для тестов генерации кода +│ └── custom/ # Данные для пользовательских тестов +├── results/ # Результаты выполнения +├── scripts/ # Скрипты для работы с проектом +│ ├── generate_tests.py # Скрипт для генерации тестов +│ ├── convert_json_to_txt.py # Конвертация JSON в TXT формат +│ └── README.md # Документация по скриптам +├── prompts/ # Промпты для генерации тестов +│ ├── translation.txt # Промпты для тестов перевода +│ ├── summarization.txt # Промпты для тестов пересказа +│ ├── codegen.txt # Промпты для тестов генерации кода +│ └── custom.txt # Промпты для пользовательских тестов +├── requirements.txt # Зависимости проекта +└── README.md # Документация ``` +## Динамическое обнаружение бенчмарков + +Проект автоматически обнаруживает бенчмарки на основе папок в директории `tests/`. Для каждого бенчмарка требуется: +1. Папка в `tests/` с тестовыми данными +2. Файл промпта в `prompts/` с именем бенчмарка (например, `prompts/translation.txt`) + +Бенчмарки создаются динамически при запуске и наследуют функциональность от базового класса `Benchmark`. + ## Добавление новых тестов -1. Создайте новый файл в `src/benchmarks/` наследуя от `Benchmark` -2. Реализуйте методы `load_test_data()` и `evaluate()` -3. Добавьте тестовые данные в соответствующую директорию в `tests/` -4. Обновите список бенчмарков в `src/main.py` +1. Создайте новую папку в `tests/` для вашего бенчмарка (например, `tests/my_benchmark`) +2. Создайте файл промпта в `prompts/` с именем `my_benchmark.txt` +3. Добавьте тестовые данные в соответствующую директорию в `tests/my_benchmark/` +4. Бенчмарк будет автоматически обнаружен при следующем запуске ## Формат тестовых данных @@ -204,4 +211,4 @@ python scripts/generate_tests.py --validate tests/translation - Таблицы с результатами каждого теста - Статистику по каждой метрике - Сводные данные по всем тестам -- Сравнение результатов между разными моделями +- Сравнение результатов между разными моделями \ No newline at end of file