3.1 KiB
3.1 KiB
NordaBiz AI Chat Statistics
Wyświetl statystyki użycia chatu AI (Google Gemini) w projekcie NordaBiz.
Kroki do wykonania:
1. Podstawowe statystyki
Wykonaj zapytania na lokalnej bazie:
sqlite3 nordabiz_local.db "
SELECT '=== STATYSTYKI CHATU AI ===' as header;
SELECT '--- Konwersacje ---' as section;
SELECT 'Łącznie konwersacji: ' || COUNT(*) FROM ai_chat_conversations;
SELECT 'Aktywne (ostatnie 7 dni): ' || COUNT(*) FROM ai_chat_conversations
WHERE updated_at > datetime('now', '-7 days');
SELECT '--- Wiadomości ---' as section;
SELECT 'Łącznie wiadomości: ' || COUNT(*) FROM ai_chat_messages;
SELECT 'Od użytkowników: ' || COUNT(*) FROM ai_chat_messages WHERE role='user';
SELECT 'Od asystenta: ' || COUNT(*) FROM ai_chat_messages WHERE role='assistant';
SELECT '--- Tokeny ---' as section;
SELECT 'Input tokens: ' || COALESCE(SUM(input_tokens), 0) FROM ai_chat_messages;
SELECT 'Output tokens: ' || COALESCE(SUM(output_tokens), 0) FROM ai_chat_messages;
SELECT '--- Koszty (USD) ---' as section;
SELECT 'Łączny koszt: $' || ROUND(COALESCE(SUM(cost_usd), 0), 4) FROM ai_chat_messages;
SELECT 'Średni koszt/wiadomość: $' || ROUND(COALESCE(AVG(cost_usd), 0), 6) FROM ai_chat_messages WHERE role='assistant';
SELECT '--- Wydajność ---' as section;
SELECT 'Średni czas odpowiedzi: ' || ROUND(COALESCE(AVG(latency_ms), 0), 0) || ' ms' FROM ai_chat_messages WHERE role='assistant';
SELECT 'Max czas odpowiedzi: ' || COALESCE(MAX(latency_ms), 0) || ' ms' FROM ai_chat_messages WHERE role='assistant';
"
2. Statystyki dzienne (ostatnie 7 dni)
sqlite3 nordabiz_local.db "
SELECT '=== AKTYWNOŚĆ OSTATNIE 7 DNI ===' as header;
SELECT date(created_at) as dzien, COUNT(*) as wiadomosci
FROM ai_chat_messages
WHERE created_at > datetime('now', '-7 days')
GROUP BY date(created_at)
ORDER BY dzien DESC;
"
3. Top użytkownicy (jeśli są powiązania)
sqlite3 nordabiz_local.db "
SELECT '=== TOP UŻYTKOWNICY ===' as header;
SELECT c.user_id, COUNT(m.id) as wiadomosci
FROM ai_chat_conversations c
JOIN ai_chat_messages m ON c.id = m.conversation_id
GROUP BY c.user_id
ORDER BY wiadomosci DESC
LIMIT 10;
"
4. Koszty API (tabela ai_api_costs)
sqlite3 nordabiz_local.db "
SELECT '=== KOSZTY API GEMINI ===' as header;
SELECT
date(created_at) as dzien,
COUNT(*) as wywolania,
SUM(input_tokens) as input_tok,
SUM(output_tokens) as output_tok,
ROUND(SUM(total_cost_usd), 4) as koszt_usd
FROM ai_api_costs
WHERE created_at > datetime('now', '-30 days')
GROUP BY date(created_at)
ORDER BY dzien DESC
LIMIT 10;
"
5. Informacje o modelu
curl -s http://localhost:5000/api/model-info 2>/dev/null || curl -s http://localhost:5001/api/model-info 2>/dev/null
Output:
Podsumuj w czytelnej formie:
| Metryka | Wartość |
|---|---|
| Konwersacje | X |
| Wiadomości | X |
| Tokeny (in/out) | X / X |
| Koszt całkowity | $X.XX |
| Śr. czas odpowiedzi | X ms |
Uwagi:
- Google Gemini 2.0 Flash jest na free tier (0 cost)
- Monitoruj tokeny dla kontroli limitów
- Wysokie latency może wskazywać na problemy z API