fetchOne( "SELECT provider, model_default FROM chatbot_default_provider WHERE id_enseignant = ?", [$user['id_utilisateur']] ); // Si pas de config, initialiser avec Ollama if (!$default_config) { $db->query( "INSERT INTO chatbot_default_provider (id_enseignant, provider, model_default) VALUES (?, 'ollama', 'ministral-3:3b')", [$user['id_utilisateur']] ); $default_config = ['provider' => 'ollama', 'model_default' => 'ministral-3:3b']; } $default_provider = $default_config['provider']; $default_model = $default_config['model_default']; // Récupérer les modèles disponibles groupés par provider $models_by_provider = []; $all_models = $db->fetchAll( "SELECT * FROM available_models WHERE active = TRUE ORDER BY provider, recommended DESC, display_name" ); foreach ($all_models as $model) { $models_by_provider[$model['provider']][] = $model; } // Récupérer les statistiques d'utilisation (requête directe) $stats = $db->fetchOne( "SELECT COUNT(DISTINCT cc.id) as total_conversations, COUNT(cm.id) as total_messages, cc.provider, cc.model_used FROM chat_conversations cc LEFT JOIN chat_messages cm ON cm.id_conversation = cc.id WHERE cc.id_enseignant = ? GROUP BY cc.provider, cc.model_used ORDER BY total_conversations DESC LIMIT 1", [$user['id_utilisateur']] ); $stats_detail = $db->fetchAll( "SELECT cc.provider, cc.model_used, COUNT(DISTINCT cc.id) as conversations, COUNT(cm.id) as messages, DATE_FORMAT(cc.date_debut, '%Y-%m') as month FROM chat_conversations cc LEFT JOIN chat_messages cm ON cm.id_conversation = cc.id WHERE cc.id_enseignant = ? GROUP BY cc.provider, cc.model_used, month ORDER BY month DESC, conversations DESC", [$user['id_utilisateur']] ); ?>
Gérez vos clés API et choisissez les modèles pour vos évaluations
Aucune clé configurée pour = $provider_name ?>
| Mois | Provider | Modèle | Conversations | Messages |
|---|---|---|---|---|
| = date('M Y', strtotime($stat['month'] . '-01')) ?> | = $provider_icons[$stat['provider']] ?? '🤖' ?> = ucfirst($stat['provider']) ?> | = htmlspecialchars($stat['model_used']) ?> | = number_format($stat['conversations']) ?> | = number_format($stat['messages']) ?> |