Skip to main content

Límites de sesión

Los límites de sesión permiten a una aplicación establecer un presupuesto de créditos de IA para una sesión de Copilot. Use sessionLimits al crear o reanudar una sesión para establecer un límite flexible para la ventana de contabilidad actual.

Configuración de un límite de sesión

Establezca maxAiCredits como el límite flexible de créditos de IA para la ventana de contabilidad actual de la sesión. El uso se comprueba después de que se devuelvan las llamadas del modelo, por lo que una respuesta puede superar el valor configurado antes de que el tiempo de ejecución bloquee la siguiente llamada al modelo. El SDK reenvía este valor a la CLI de Copilot cuando crea o reanuda la sesión.

Lenguajes de código navigation

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

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

Observar eventos presupuestarios

Las aplicaciones pueden suscribirse a eventos de sesión para actualizar la interfaz de usuario cuando cambia el límite temporal o la sesión alcanza el flujo de presupuesto agotado.

Tipo de eventoCuando se emiteCampos importantes
session.session_limits_changedSe han cambiado los límites de sesión activos. Un null``sessionLimits valor significa que no hay límites activos.sessionLimits.maxAiCredits?
session.usage_checkpointEl entorno de ejecución registra el uso agregado persistente para la reanudación y la contabilización.
totalNanoAiu, totalPremiumRequests?
session_limits_exhausted.requestedLa sesión ha llegado al flujo de presupuesto agotado y requiere una decisión del usuario antes de continuar.
requestId, , maxAiCredits, usedAiCredits
session_limits_exhausted.completedSe corrigió el aviso de límite alcanzado.
requestId, response.action, , response.additionalAiCredits?, response.maxAiCredits?

Use los tipos de eventos generados para el lenguaje del SDK que usa. Por ejemplo, TypeScript limita por 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,
        });
    }
});