IA

Streaming com IA

Streaming permite exibir tokens conforme a resposta é gerada. Esse fluxo melhora a percepção de velocidade em chats, copilotos, assistentes internos e interfaces longas.

Quando usar streaming

Use streaming quando:

  • a resposta pode ser longa
  • o usuário está olhando para uma interface interativa
  • você quer mostrar progresso antes da resposta final
  • a aplicação precisa reduzir sensação de espera

Para tarefas de backend, relatórios assíncronos ou automações sem interface, uma chamada sem streaming costuma ser mais simples.

Permissões

O streaming usa a mesma credencial de inferência da IA que uma chamada normal. Os scopes ai_key.* e ai_usage.read administram a chave e o consumo na API da Zenifra; não são necessários como headers da chamada OpenAI-compatible.

Exemplo em Node.js

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://ai.zenifra.com/v1',
  apiKey: process.env.ZENIFRA_AI_API_KEY,
});

const stream = await client.chat.completions.create({
  model: 'zenifra/qwen3.8-flash',
  stream: true,
  messages: [
    {
      role: 'user',
      content: 'Explique o que é deploy contínuo em cinco frases.',
    },
  ],
});

for await (const chunk of stream) {
  const token = chunk.choices[0]?.delta?.content;
  if (token) process.stdout.write(token);
}

Exemplo em curl

curl https://ai.zenifra.com/v1/chat/completions \
  -H "Authorization: Bearer $ZENIFRA_AI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "zenifra/qwen3.8-flash",
    "stream": true,
    "messages": [
      { "role": "user", "content": "Crie uma checklist curta de deploy." }
    ]
  }'

Cuidados em produção

  • trate queda de conexão no cliente
  • mostre erro claro se a chave estiver inválida, sem crédito na organização ou com a quota atingida
  • não registre prompts sensíveis sem necessidade
  • limite concorrência para evitar picos de custo
  • acompanhe tokens, custo e modelos usados no console

Próximos passos

FAQ

Streaming muda a cobrança?

O consumo continua sendo baseado em tokens. A diferença é a forma como a resposta chega ao cliente.

Posso usar streaming em backend?

Sim, mas ele é mais útil quando existe uma interface exibindo a resposta em tempo real.

O que fazer em erro no meio do stream?

Finalize a resposta parcial, mostre uma mensagem clara e permita nova tentativa com backoff.

Última atualização em

Nessa página