Włącz SSE#
Ustaw stream: true oraz stream_options: { include_usage: true }. Odczytuj każdą linię data jako JSON; dołączaj choices[0].delta.content, gdy jest obecny. Nie zakładaj, że fragment sieciowy to jedno zdarzenie.
Zakończenie i użycie#
finish_reason zamyka wybór; końcowa ramka użycia może nadejść osobno. Zatrzymaj się tylko na [DONE] lub błędzie terminalnym. Zachowaj sumy użycia zamiast szacować tokeny na podstawie znaków.
Przerwane żądania#
Brama utrzymuje rezerwację rozliczeniową do czasu uzyskania autorytatywnych danych o użyciu od dostawcy. Rozłączenie przeglądarki nie dowodzi, że dostawca przestał generować. Jeśli brakuje końcowego użycia, rezerwacja pozostaje w oczekiwaniu na uzgodnienie zamiast po cichu naliczać szacunkową opłatę.
Dostarczanie do przeglądarki#
Trzymaj klucz API na serwerze. Użyj własnego punktu końcowego tej samej domeny, aby przekazywać SSE do przeglądarki; zobacz przepis na strumieniowanie w przeglądarce.
Przykład żądania
curl https://weightsapi.com/v1/chat/completions \
-H "Authorization: Bearer $WEIGHTSAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen3-32B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'