Skip to main content

Sitzungsgrenzwerte

Sitzungslimits ermöglichen es einer Anwendung, ein KI-Guthabenbudget für eine Copilot Sitzung festzulegen. Verwenden Sie sessionLimits beim Erstellen oder Fortsetzen einer Sitzung, um eine weiche Obergrenze für den aktuellen Abrechnungszeitraum festzulegen.

Konfigurieren eines Sitzungslimits

Setzt maxAiCredits auf den Softcap für AI Credits für den aktuellen Abrechnungszeitraum der Sitzung. Die Verwendung wird nach der Rückgabe von Modellaufrufen überprüft, sodass eine Antwort den konfigurierten Wert überschreiten kann, bevor die Laufzeit den nächsten Modellaufruf blockiert. Das SDK leitet diesen Wert beim Erstellen oder Fortsetzen der Sitzung an die Copilot CLI weiter.

Codesprachen navigation

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

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

Budgetereignisse überwachen

Anwendungen können Session-Ereignisse abonnieren, um die UI zu aktualisieren, wenn sich die Softcap ändert oder die Session in den Ablauf für ausgeschöpftes Budget eintritt.

EreignistypWenn sie ausgegeben wirdWichtige Felder
session.session_limits_changedDie Grenzwerte für aktive Sitzungen wurden geändert. Ein null``sessionLimits Wert bedeutet, dass keine Grenzwerte aktiv sind.sessionLimits.maxAiCredits?
session.usage_checkpointDie Laufzeit zeichnet aggregierte Nutzungsdaten zur Wiederaufnahme und Abrechnung dauerhaft auf.
totalNanoAiu, totalPremiumRequests?
session_limits_exhausted.requestedDie Sitzung hat den Ablauf bei ausgeschöpftem Budget erreicht und erfordert eine Entscheidung des Benutzers, bevor sie fortgesetzt werden kann.
requestId, maxAiCredits``usedAiCredits
session_limits_exhausted.completedDie Meldung zum erreichten Limit wurde behoben.
requestId, response.action, response.additionalAiCredits?, response.maxAiCredits?

Verwenden Sie die generierten Ereignistypen für die verwendete SDK-Sprache. Beispielsweise grenzt TypeScript mithilfe von event.type ein:

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