Une route n'est jamais une boîte noire.
Chaque requête conserve un enregistrement structuré — note, modèle choisi, fournisseur, latence, nombre de jetons, coût, et la raison de l'échec le cas échéant.
- Filtrez par clé, modèle, groupe, identifiant ou type de requête, et copiez n'importe quelle requête sous forme de cURL exécutable.
- Les échecs sont séparés en erreurs en amont et en erreurs de paramètres de requête, afin de distinguer celles sur lesquelles vous pouvez agir de celles qui ne dépendent pas de vous.
- Activez la capture des charges utiles et le corps de la requête est conservé séparément de la ligne de journal, vous permettant de prouver exactement ce qui a été envoyé.
Ce qui a échoué, et si cela avait de l'importance
Les erreurs sont réparties en deux catégories : les pannes en amont, et les erreurs de paramètres de requête qui vous appartiennent à corriger. La catégorie des paramètres se décompose par raison afin que vous puissiez aller directement au champ mal formé ; la catégorie en amont reste un simple compteur, car une mauvaise journée chez un fournisseur n'est pas une liste sur laquelle vous pouvez agir.
Chaque appel, consigné.
Note. Modèle. Fournisseur. Latence. Tokens entrants, sortants, servis depuis le cache. Ce que ça a coûté. Et en cas d'échec, ce qui a échoué et ce qui a pris le relais. Pas un échantillon — chaque requête.
D'une ligne de journal à une reproduction.
Retrouvez la requête, exportez-la sous forme de cURL exécutable, et vous déboguez l'appel réel plutôt que votre souvenir. Activez la capture des charges utiles et le corps est conservé séparément de la ligne de journal, vous permettant de prouver ce qui a été envoyé bien après le début du litige.