Skip to main content

Limites de session

Les limites de session permettent à une application de définir un budget de crédits IA pour une session Copilot. Utilisez-la sessionLimits lors de la création ou de la reprise d’une session pour définir une limite réversible pour la fenêtre de comptabilité actuelle.

Configurer une limite de session

Définissez maxAiCredits la limite réversible des crédits IA pour la fenêtre de comptabilité actuelle de la session. L’utilisation est vérifiée après le retour des appels de modèle, de sorte qu’une réponse peut dépasser la valeur configurée avant que le runtime bloque l’appel de modèle suivant. Le Kit de développement logiciel (SDK) transfère cette valeur à l’interface CLI Copilot lorsqu’il crée ou reprend la session.

Langages de code navigation

TypeScript
const session = await client.createSession({
    onPermissionRequest: approveAll,
    sessionLimits: {
        maxAiCredits: 30,
    },
});

const resumed = await client.resumeSession(session.sessionId, {
    onPermissionRequest: approveAll,
    sessionLimits: {
        maxAiCredits: 30,
    },
});

Observer les événements budgétaires

Les applications peuvent s’abonner aux événements de session pour mettre à jour l’interface utilisateur lorsque la limite réversible change ou que la session atteint le flux budgétaire épuisé.

Type d’événementLorsqu’il est émisChamps importants
session.session_limits_changedLes limites de session actives ont changé. Une null``sessionLimits valeur signifie qu’aucune limite n’est active.sessionLimits.maxAiCredits?
session.usage_checkpointL’environnement d’exécution enregistre de façon durable l’utilisation agrégée pour la reprise et la comptabilisation.
totalNanoAiu, totalPremiumRequests?
session_limits_exhausted.requestedLa session a atteint le flux budgétaire épuisé et a besoin d’une décision de l’utilisateur avant de continuer.
requestId, maxAiCredits, usedAiCredits
session_limits_exhausted.completedLe message de limite atteinte a été corrigé.
requestId, response.action, response.additionalAiCredits?, response.maxAiCredits?

Utilisez les types d’événements générés pour le langage sdk que vous utilisez. Par exemple, TypeScript réduit par event.type:

session.on((event) => {
    if (event.type === "session_limits_exhausted.requested") {
        showBudgetDialog({
            requestId: event.data.requestId,
            maxAiCredits: event.data.maxAiCredits,
            usedAiCredits: event.data.usedAiCredits,
        });
    }
});