Vai al contenuto

llama.cpp b11958 aggiunge tool calling a /v1/realtime: commit del 28 ottobre, ruolo del client, modelli indicati e limiti della demo set_volume.

L’ANALISI

llama.cpp b11958: chiamare i tool nella conversazione realtime

llama.cpp b11958 aggiunge tool calling a /v1/realtime: commit del 28 ottobre, ruolo del client, modelli indicati e limiti della demo set_volume.

5 min di letturaFatti, limiti e fonti primarie
Cattura della PR ufficiale llama.cpp sul tool calling realtime, con riepilogo e riferimenti ai modelli LFM3-Audio e LFM3-Omni
Pagina ufficiale della PR 31287 di llama.cpp: supporto ai tool in /v1/realtime e modelli LFM3 indicati dal contributore. Cattura del 30 ottobre in formato 16:9 con cornice arancione; la demo mostrata non è un test Radar. Apri la figura a piena risoluzione.

In breve: Per costruire un assistente vocale locale, il cambiamento utile è poter completare nello stesso flusso realtime il passaggio da una richiesta a una funzione e poi alla risposta. Il codice di esempio mantiene però l’esecuzione nel client. Autorizzazioni, validazione degli argomenti e controllo degli effetti restano responsabilità dell’applicazione: la presenza del tool nel protocollo non le sostituisce.

Che cosa è cambiato il 28 ottobre

La PR 31287 è stata integrata il 28 ottobre 2026 alle 11:17:13 UTC nel commit d1eb0de. Il riferimento Git del tag b11958 restituisce lo stesso commit. È un delta verificabile rispetto alle coperture precedenti di llama.cpp: qui il tema sono le chiamate ai tool di /v1/realtime, non il supporto TTS già raccontato. Il percorso web delle release è consultabile, ma l’endpoint REST della release per questo tag risponde 404. Per questo il testo parla di tag e codice integrato, non di versione stabile.

Il client chiude il ciclo della funzione

Nella documentazione fissata al commit, i tool entrano nella sessione; il server produce elementi function_call e il client restituisce function_call_output con il relativo call_id. Una richiesta successiva genera la continuazione della risposta. Implicazione pratica proposta: conservare il legame tra richiesta, funzione eseguita e risultato, invece di considerare la frase pronunciata dall’assistente come prova dell’esecuzione. Nel registro applicativo dovrebbero comparire anche esito e motivo di un eventuale rifiuto.

Due modelli indicati, non compatibilità universale

La descrizione ufficiale della PR indica LiquidAI/LFM3-Audio-2B-GGUF e LiquidAI/LFM3-Omni-2B-GGUF. Il README della revisione richiede per LFM3-Omni l’opzione --reasoning off. Sono indicazioni del progetto per questa integrazione, non un test Radar su ogni modello o quantizzazione. Per la valutazione proposta, fissare checkpoint, quantizzazione e revisione del server: cambiare contemporaneamente questi tre elementi renderebbe poco leggibile un eventuale confronto con la configurazione precedente.

La demo set_volume non comanda una cassa audio

Il client di esempio contiene un tool set_volume; la sua funzione restituisce il valore ricevuto in un oggetto JSON. Nel corpo verificato non c’è una chiamata al mixer o a un dispositivo. Questo distingue una dimostrazione del passaggio di messaggi da un’integrazione hardware. Non sono stati misurati latenza, correttezza vocale o comportamento su richieste italiane. Un output mostrato nella PR resta la dimostrazione del contributore, non un risultato riprodotto da questa redazione.

Mettere i permessi prima dell’esecuzione

Analisi operativa proposta: iniziare con una funzione di sola lettura o una risposta fittizia e consentire soltanto nomi e argomenti previsti. Stabilire che cosa fare in caso di chiamata ripetuta, timeout o risposta non valida del tool, prima di collegare azioni reali. Se una richiesta può cambiare dati o comandare un dispositivo, aggiungere una conferma esplicita e un registro dell’esito. Sono requisiti consigliati per l’applicazione, non protezioni che questo cambiamento dimostri di fornire automaticamente.

Una verifica proposta, senza inventare un benchmark

Procedura proposta, non eseguita da Radar: preparare un server isolato con la revisione scelta e usare il client della medesima revisione. L’esempio ufficiale avvia llama-server -hf LiquidAI/LFM3-Omni-2B-GGUF:Q8_0 --reasoning off; il client dispone dell’opzione --tools per la funzione dimostrativa. Prima verificare l’andata e ritorno del risultato senza effetti esterni; poi aggiungere audio autorizzato e richieste ambigue o non eseguibili. Registrare chiamata attesa, chiamata prodotta, risultato e risposta finale, tenendo separata ogni misura di tempo.

Condizioni e limitazioni

È un tag e un cambiamento integrato nel repository, non una release stabile confermata via REST. Radar non ha compilato llama.cpp, scaricato modelli o eseguito conversazioni vocali. Il client dimostrativo set_volume restituisce un oggetto JSON: non modifica il volume del sistema e non prova il controllo di un dispositivo reale.

Checklist pratica

  • Registrare il commit d1eb0debaddc9f9246ee884653ee3a7764f60b77 e non presentare b11958 come release stabile.
  • Usare server e client della stessa revisione e fissare il modello scelto.
  • Per LFM3-Omni, controllare l’opzione --reasoning off indicata dalla documentazione.
  • Verificare la corrispondenza del call_id tra function_call e function_call_output.
  • Iniziare con il tool dimostrativo o una funzione senza effetti esterni.
  • Gestire argomenti invalidi, timeout e ripetizioni prima di abilitare azioni reali.
  • Non trasformare la demo del contributore in una promessa di latenza, qualità italiana o controllo hardware.

Fonti primarie

Radar AI · a cura di Francesco Gruner

Chiedi al sito.

Assistente OpenAI

Le domande vengono inviate a OpenAI. Non inserire dati personali o riservati. Privacy.

Verifica le risposte nelle fonti. 16 messaggi al giorno per rete.

Cosa cerchi? Ti indico le pagine utili.