Module de statistiques de données
Description des fonctionnalités
Le préfixe de l'API est uniformément http(s)://<your-domain>
HTTPS doit être utilisé dans les environnements de production pour sécuriser les jetons d'authentification. HTTP n'est recommandé que pour les environnements de développement.
Un système de statistiques agrégées pour les données d'utilisation. Les administrateurs peuvent afficher des statistiques à l'échelle du site et les utilisateurs peuvent afficher des statistiques personnelles. Les données sont regroupées par modèle et par date, utilisées pour générer des graphiques et des rapports et surveiller les tendances d'utilisation du système.
🔐 Authentification de l'utilisateur
Mes statistiques d'utilisation par date
- Nom de l'interface: Mes statistiques d'utilisation par date
- Méthode HTTP: GET
- Chemin:
/api/data/self - Exigence d'authentification: Utilisateur
- Description: récupère les données d'utilisation de l'utilisateur actuel agrégées par date, prenant en charge les requêtes de plage horaire.
💡 Exemple de demande:
const response = await fetch('/api/data/self?start_timestamp=1640908800&end_timestamp=1640995200', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_user_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": [
{
"model_name": "gpt-3.5-turbo",
"count": 25,
"quota": 12500,
"token_used": 2000,
"created_at": 1640995200,
"user_id": 1,
"username": "testuser"
},
{
"model_name": "gpt-4",
"count": 10,
"quota": 30000,
"token_used": 1500,
"created_at": 1640995200,
"user_id": 1,
"username": "testuser"
}
]
}❗ Exemple de réponse en cas d'échec:
{
"success": false,
"message": "Failed to retrieve personal statistics data"
}🧾 Description du champ:
start_timestamp(Numéro): horodatage de début, en optionend_timestamp(Numéro): Horodatage de fin, facultatifdata(Array) : Liste des données statistiques personnellesmodel_name(String): Nom du modèlecount(Numéro): Nombre de demandesquota(Nombre): Quota de consommationtoken_used(Nombre): Utilisation du jetoncreated_at(Numéro): horodatage de la date des statistiquesuser_id(Numéro): ID utilisateurusername(Chaîne) : Nom d'utilisateur
🔐 Authentification de l'administrateur
Statistiques d'utilisation à l'échelle du site par date
- Nom de l'interface: statistiques d'utilisation à l'échelle du site par date
- Méthode HTTP: GET
- Chemin:
/api/data/ - Exigence d'authentification: Administrateur
- Description: récupère les données d'utilisation du système à l'échelle du site, agrégées par date, en prenant en charge le filtrage par nom d'utilisateur et requêtes de plage horaire.
💡 Exemple de demande:
const response = await fetch('/api/data/?start_timestamp=1640908800&end_timestamp=1640995200&username=testuser', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'your_user_id'
}
});
const data = await response.json();✅ Exemple de réponse réussie:
{
"success": true,
"message": "",
"data": [
{
"model_name": "gpt-3.5-turbo",
"count": 150,
"quota": 75000,
"token_used": 12500,
"created_at": 1640995200
},
{
"model_name": "gpt-4",
"count": 50,
"quota": 150000,
"token_used": 8000,
"created_at": 1640995200
}
]
}❗ Exemple de réponse en cas d'échec:
{
"success": false,
"message": "Failed to retrieve statistics data"
}🧾 Description du champ:
start_timestamp(Numéro): horodatage de début, en optionend_timestamp(Numéro): Horodatage de fin, facultatifusername(String): Filtre de nom d'utilisateur, facultatifdata(Array) : Liste des données statistiques, agrégées par modèle et datemodel_name(String): Nom du modèlecount(Nombre): nombre total de demandesquota(Nombre): Consommation totale des quotastoken_used(Nombre): utilisation totale du jetoncreated_at(Numéro): horodatage de la date des statistiques