System do benchmarkowania i wizualizacji wyników modeli językowych LLM.
Projekt składa się z dwóch głównych komponentów:
- Benchmark (Python) -
benchmark.py
- narzędzie do uruchamiania testów na modelach LLM - Wizualizacja (PHP) - pliki
.php
- interfejs webowy do przeglądania i porównywania wyników
- Python 3.x
- Biblioteki:
mysql-connector-python
,requests
- PHP 7.4+ z rozszerzeniem PDO MySQL
- Serwer MySQL/MariaDB
- Serwer web (Apache/Nginx)
- Ollama API działające na
http://localhost:11434
- Utwórz bazę danych MySQL:
mysql -u root -p < schema.sql
- Stwórz użytkownika bazy danych:
CREATE USER 'llmuser'@'localhost' IDENTIFIED BY 'SuperSecretPassword#175';
GRANT ALL PRIVILEGES ON llm_benchmark.* TO 'llmuser'@'localhost';
FLUSH PRIVILEGES;
- Skopiuj plik konfiguracyjny:
cp config-dist.php config.php
- Edytuj
config.php
i ustaw parametry bazy danych:
$dbConfig = [
'host' => '192.168.1.2',
'port' => 3306,
'user' => 'llmuser',
'password' => 'SuperSecretPassword#175',
'database' => 'llm_benchmark'
];
Utwórz plik .env
w katalogu głównym:
GEMINI_API_KEY="AI12345678901234567890ABCDEFABCDEF"
pip install mysql-connector-python requests dotenv
python benchmark.py --host 192.168.1.2 --port 3306 --user llmuser --password SuperSecretPassword#175 --database llm_benchmark --ollama http://192.168.1.2:11434
python model_metadata.py --host 192.168.1.2 --port 3306 --user llmuser --password SuperSecretPassword#175 --database llm_benchmark
python gemini_evaluate.py --host 192.168.1.2 --port 3306 --user llmuser --password SuperSecretPassword#175 --database llm_benchmark
Uruchom serwer web i otwórz index.php
w przeglądarce.
Dostępne pliki wizualizacji:
index.php
- główna tabela porównawcza wynikówgraphs.php
- wykresy i statystykiajax.php
- API do dynamicznego ładowania danych
benchmark.py
- główny skrypt benchmarkowyconfig-dist.php
- szablon konfiguracji PHPconfig.php
- plik konfiguracyjny PHP (tworzony z dist)schema.sql
- schemat bazy danychindex.php
- główny interfejs webowygraphs.php
- wizualizacje graficzneajax.php
- endpoint APImodel_metadata.py
- metadane modeliresults.py
- analiza wyników- Pliki
.bat
- skrypty Windows do automatyzacji
- NIGDY nie commituj pliku
config.php
do repozytorium - Upewnij się, że plik
.env
jest dodany do.gitignore
- Używaj silnych haseł dla bazy danych
- Ogranicz dostęp do plików konfiguracyjnych na serwerze