{% extends "base.html" %} {% block title %}Analityka Chatu AI - Norda Biznes Partner{% endblock %} {% block extra_css %} {% endblock %} {% block content %}

Analityka Chatu AI

Monitoruj jakość odpowiedzi i zachowania użytkowników

{{ total_conversations }}
Rozmów
{{ total_user_messages }}
Zapytań użytkowników
{{ positive_feedback }}
Pozytywnych ocen
{{ negative_feedback }}
Negatywnych ocen
{{ satisfaction_rate }}%
Satysfakcja

Statystyki zapytań 🔒 Dane zanonimizowane

{{ query_stats.total_today }}
Zapytań dzisiaj
{{ query_stats.avg_length|int }}
Śr. długość (znaki)
{{ query_stats.queries_with_company }}
O firmach
{{ query_stats.queries_with_contact }}
O kontaktach

Ostatnia aktywność (zanonimizowana)

{% if recent_queries %} {% else %}

Brak zapytań

{% endif %}
🔒 Ochrona prywatności: Treść zapytań użytkowników nie jest wyświetlana w panelu admina. Widoczne są tylko zanonimizowane statystyki (długość, kategorie tematyczne).

Odpowiedzi z oceną

{% if recent_feedback %} {% else %}

Brak ocen - popros uzytkownikow o feedback!

{% endif %}

Uczenie AI z feedbacku

Ladowanie statusu uczenia...

{% endblock %} {% block extra_js %} // Load AI Learning Status async function loadLearningStatus() { try { const response = await fetch('/api/admin/ai-learning-status'); const data = await response.json(); if (!data.success) { document.getElementById('learningStatus').innerHTML = '

Blad ladowania statusu

'; return; } if (!data.learning_active) { document.getElementById('learningStatus').innerHTML = '

Uczenie z feedbacku nieaktywne

'; return; } const stats = data.stats || {}; const usingSeed = data.using_seed_examples; let html = `
${usingSeed ? 'Seed' : 'Aktywne'}
${usingSeed ? 'Uzywa przykladow startowych' : 'Uczy sie z feedbacku'}
${data.positive_examples_count}
Pozytywnych przykladow
${stats.feedback_rate || 0}%
Wskaznik feedbacku
${stats.positive_rate || 0}%
Pozytywnych ocen
`; // Show positive examples if (data.positive_examples && data.positive_examples.length > 0) { html += '

Przyklady uzywane do nauki

'; for (const ex of data.positive_examples.slice(0, 3)) { html += `
Q: ${ex.query}
${ex.response}
`; } } // Show patterns to avoid if (data.negative_patterns && data.negative_patterns.length > 0) { html += '

Wzorce do unikania

'; html += ''; } document.getElementById('learningStatus').innerHTML = html; } catch (error) { console.error('Error loading learning status:', error); document.getElementById('learningStatus').innerHTML = '

Blad ladowania statusu

'; } } // Load on page load loadLearningStatus(); {% endblock %}