Abrir uma transmissão SSE
Ative stream: true e desative a colocação em memória intermédia no cliente. O servidor envia eventos de dados à medida que as partes da resposta ficam disponíveis.
Processe a transmissão de forma incremental: um evento não tem de conter texto concluído nem uma chamada de ferramenta completa.
curl --no-buffer --request POST https://cicora.ai/api/v1/chat/completions \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "openai/gpt-5.6-sol",
"stream": true,
"stream_options": {"include_usage": true},
"messages": [{"role": "user", "content": "Write a three-line poem."}]
}'Reunir os incrementos
- Acumule texto por escolha/índice ou identificador de item.
- Recolha os argumentos da ferramenta como fluxo de fragmentos JSON e analise-os após a conclusão.
- Quando as métricas finais forem importantes, ative explicitamente na transmissão a opção de utilização disponível.
Concluir e cancelar
Considere a transmissão concluída apenas após um evento terminal. O fecho de uma ligação sem esse evento constitui uma falha distinta.
Associe um AbortController ou equivalente à navegação do utilizador, para que um pedido já inútil não permaneça aberto.