docs: update README with context size parameter and dynamic benchmark discovery
- Added `--context-size` parameter documentation with default value - Updated project structure to reflect dynamic benchmark discovery - Removed static benchmark module references - Added custom benchmark support documentation - Clarified automatic benchmark detection process - Updated test addition instructions for dynamic discovery - Fixed trailing newline in file ``` This commit message follows the conventional commit format with a clear title and descriptive body explaining the changes made to the documentation.
This commit is contained in:
65
README.md
65
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. Бенчмарк будет автоматически обнаружен при следующем запуске
|
||||
|
||||
## Формат тестовых данных
|
||||
|
||||
|
||||
Reference in New Issue
Block a user