Docs
Streaming

Streaming

Receba respostas token por token via Server-Sent Events.

O Ignus Code suporta streaming via Server-Sent Events (SSE), igual à API da OpenAI. Habilite com stream: true.

Por que usar streaming?

Com streaming a resposta começa a aparecer imediatamente — o usuário não precisa esperar a resposta completa antes de ver qualquer conteúdo. Ideal para interfaces de chat.

Python

stream.py
from openai import OpenAI
 
client = OpenAI(
    base_url="https://proxy.ignustec.com.br/v1",
    api_key="sk_ic_xxxxxxxxxxxxxxxxxxxx",
)
 
stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Escreva um poema sobre o Brasil."}],
    stream=True,
)
 
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
 
print()  # nova linha ao final

TypeScript

stream.ts
import OpenAI from "openai";
 
const client = new OpenAI({
  baseURL: "https://proxy.ignustec.com.br/v1",
  apiKey: process.env.IGNUS_API_KEY,
});
 
const stream = await client.chat.completions.create({
  model: "claude-sonnet-4",
  messages: [{ role: "user", content: "Explique recursão em 3 parágrafos." }],
  stream: true,
});
 
for await (const chunk of stream) {
  const delta = chunk.choices[0]?.delta?.content;
  if (delta) process.stdout.write(delta);
}

cURL

curl https://proxy.ignustec.com.br/v1/chat/completions \
  -H "Authorization: Bearer $IGNUS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Olá!"}],
    "stream": true
  }'

Formato dos chunks SSE

Cada evento tem o formato:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Olá"},"index":0}]}

data: [DONE]

O stream termina com data: [DONE].

Uso com Next.js / React

app/api/chat/route.ts
import OpenAI from "openai";
import { OpenAIStream, StreamingTextResponse } from "ai";
 
const client = new OpenAI({
  baseURL: "https://proxy.ignustec.com.br/v1",
  apiKey: process.env.IGNUS_API_KEY,
});
 
export async function POST(req: Request) {
  const { messages } = await req.json();
 
  const response = await client.chat.completions.create({
    model: "gpt-4o",
    messages,
    stream: true,
  });
 
  const stream = OpenAIStream(response);
  return new StreamingTextResponse(stream);
}

Para usar com o Vercel AI SDK, instale npm install ai. O Ignus Code é compatível por usar o mesmo formato da OpenAI.