Skip to content

Alcuni endpoint API inviano risposte in streaming per impostazione predefinita, come /api/generate. Queste risposte sono fornite nel formato JSON delimitato da nuova riga (ovvero il tipo di contenuto application/x-ndjson). Ad esempio:

json
{"model":"gemma4","created_at":"2025-10-26T17:15:24.097767Z","response":"That","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.109172Z","response":"'","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.121485Z","response":"s","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.132802Z","response":" a","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.143931Z","response":" fantastic","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.155176Z","response":" question","done":false}
{"model":"gemma4","created_at":"2025-10-26T17:15:24.166576Z","response":"!","done":true, "done_reason": "stop"}

Disabilitazione dello streaming

Lo streaming può essere disabilitato fornendo {"stream": false} nel corpo della richiesta per qualsiasi endpoint che supporti lo streaming. In questo caso le risposte verranno restituite nel formato application/json invece di quello precedente:

json
{"model":"gemma4","created_at":"2025-10-26T17:15:24.166576Z","response":"That's a fantastic question!","done":true}

Quando utilizzare streaming rispetto a non-streaming

Streaming (predefinito):

  • Generazione di risposte in tempo reale
  • Latenza percepita inferiore
  • Migliore per generazioni lunghe

Non-streaming:

  • Più semplice da elaborare
  • Migliore per risposte brevi o output strutturati
  • Più semplice da gestire in alcune applicazioni