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