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.phpi 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 dotenvpython 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_benchmarkUruchom 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.phpdo repozytorium - Upewnij się, że plik
.envjest dodany do.gitignore - Używaj silnych haseł dla bazy danych
- Ogranicz dostęp do plików konfiguracyjnych na serwerze