Skip to content

Alguns endpoints de API fazem streaming de respostas por padrão, como o /api/generate. Essas respostas são fornecidas no formato JSON delimitado por quebras de linha (ou seja, o tipo de conteúdo application/x-ndjson). Por exemplo:

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"}

Desativando o streaming

O streaming pode ser desativado fornecendo {"stream": false} no corpo da requisição para qualquer endpoint que suporte streaming. Isso fará com que as respostas sejam retornadas no formato application/json em vez disso:

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

Quando usar streaming em vez de não-streaming

Streaming (padrão):

  • Geração de respostas em tempo real
  • Latência percebida menor
  • Mais adequado para gerações longas

Não-streaming:

  • Mais simples de processar
  • Mais adequado para respostas curtas ou saídas estruturadas
  • Mais fácil de manipular em algumas aplicações