Companion

object Companion

Properties

Link copied to clipboard

Speichert die letzten MAX_HISTORY_SIZE Inferenzdauern (in ms) pro Modelltypschlüssel. Verwendet von estimateWaitMs zur Berechnung der durchschnittlichen Inferenzzeit pro Modelltyp.

Link copied to clipboard

Gemeinsames Semaphor, das gleichzeitige lokale KI-Schlussfolgerungen über alle Module hinweg begrenzt (LLAMA, Tesserakt, Flüstern). Konfiguriert über „AI_LLAMA_ENGINE_MaxConcurrent“ (Standard 2).

Link copied to clipboard

Whether the queue-position badge is enabled globally. Configured via AI_QueueBadge.

Link copied to clipboard

Verfolgt jede Anfrage, die auf das Inferenzsemaphor wartet oder es derzeit enthält. Streaming-Threads registrieren sich vor acquire; Wiederholungsbasierte Clients (Synchronisierung von LLAMA, Tesseract) Registrieren Sie sich beim ersten fehlgeschlagenen tryAcquire. Tickets werden entfernt, wenn die Inferenz abgeschlossen ist (in der „finally“-Block nach Release). Der Kartenwert ist der Erstellungszeitstempel für das Warten Tickets oder Long.MAX_VALUE zum Ausführen von Inferenzen (immun gegen veraltete Bereinigung).

Link copied to clipboard

Maps-Ticket-UUID → Modelltypschlüssel (z. B. „llama-thinking“, „llama-fast“, „tesseract“). Zusammen mit queueTickets registriert, damit estimateWaitMs nachschlagen kann, um welche Modelltypen es sich handelt vorne in der Warteschlange und berechnen Sie eine ungefähre Wartezeit.

Functions

Link copied to clipboard

Entfernt Wartetickets, die älter als 30 Sekunden sind (verlassene Kunden). Aktive Tickets (Long.MAX_VALUE) sind nicht betroffen.

Link copied to clipboard
fun estimateWaitMs(excludeTicket: String?): Long?

Schätzt die Gesamtwartezeit (in ms) für ein Ticket durch Summieren der durchschnittlichen Inferenzdauer von jedem Ticket vor ihm in der Warteschlange. Nur Tickets, deren Modelltyp über einen aufgezeichneten Verlauf verfügt zur Schätzung beitragen. Gibt „null“ zurück, wenn keine Schätzung möglich ist (keine Historie für irgendeinen von). die in der Warteschlange befindlichen Modelltypen).

Link copied to clipboard
fun recordInferenceDuration(modelType: String, durationMs: Long)

Zeichnet die Dauer einer abgeschlossenen Inferenz für einen bestimmten Modelltyp auf.

Link copied to clipboard
fun updateMaxConcurrent(maxConcurrent: Int)

Replaces the shared inference semaphore with a new limit.