Companion

object Companion

Properties

Link copied to clipboard

Memorizza le ultime durate di inferenza MAX_HISTORY_SIZE (in ms) per chiave del tipo di modello. Utilizzato da estimateWaitMs per calcolare il tempo di inferenza medio per tipo di modello.

Link copied to clipboard

Semaforo condiviso che limita le inferenze AI locali simultanee su tutti i moduli (LLAMA, Tesseract, Sussurro). Configurato tramite "AI_LLAMA_ENGINE_MaxConcurrent" (predefinito 2).

Link copied to clipboard

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

Link copied to clipboard

Tiene traccia di ogni richiesta in attesa o attualmente in possesso del semaforo di inferenza. I thread di streaming si registrano prima di acquisire; client basati su tentativi (sincronizzazione LLAMA, Tesseract) registrarsi al primo errore tryAcquire. I ticket vengono rimossi al termine dell'inferenza (in il blocco finale dopo il rilascio). Il valore della mappa è il timestamp di creazione per l'attesa ticket o Long.MAX_VALUE per l'esecuzione di inferenze (immune alla pulizia obsoleta).

Link copied to clipboard

UUID del ticket di Maps → chiave del tipo di modello (ad esempio "llama-thinking", "llama-fast", "tesseract"). Registrato insieme a queueTickets in modo che estimateWaitMs possa verificare quali tipi di modello sono avanti in coda e calcolare un tempo di attesa approssimativo.

Functions

Link copied to clipboard

Rimuove i ticket in attesa più vecchi di 30 s (client abbandonati). Biglietti attivi (Long.MAX_VALUE) non sono interessati.

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

Stima il tempo di attesa totale (in ms) per un ticket sommando la durata media dell'inferenza di ogni biglietto che lo precede in coda. Solo i biglietti il cui tipo di modello ha registrato la cronologia contribuire alla stima. Restituisce "null" se non è possibile alcuna stima (nessuna cronologia per nessuno dei i tipi di modello in coda).

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

Registra la durata di un'inferenza completata per un determinato tipo di modello.

Link copied to clipboard
fun updateMaxConcurrent(maxConcurrent: Int)

Replaces the shared inference semaphore with a new limit.