Companion
Properties
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.
Semaforo condiviso che limita le inferenze AI locali simultanee su tutti i moduli (LLAMA, Tesseract, Sussurro). Configurato tramite "AI_LLAMA_ENGINE_MaxConcurrent" (predefinito 2).
Whether the queue-position badge is enabled globally. Configured via AI_QueueBadge.
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).
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
Rimuove i ticket in attesa più vecchi di 30 s (client abbandonati). Biglietti attivi (Long.MAX_VALUE) non sono interessati.
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).
Registra la durata di un'inferenza completata per un determinato tipo di modello.
Replaces the shared inference semaphore with a new limit.