Увімкніть SSE#
Установіть stream: true і stream_options: { include_usage: true }. Читайте кожен рядок даних як JSON; додавайте choices[0].delta.content, коли він присутній. Не вважайте, що мережевий фрагмент є однією подією.
Завершення та використання#
finish_reason закриває вибір; фінальний кадр використання може надійти окремо. Зупиняйтеся лише на [DONE] або термінальній помилці. Зберігайте підсумкові дані про використання, а не оцінюйте токени за символами.
Перервані запити#
Шлюз утримує платіжне резервування, доки не з’являться авторитетні дані про використання провайдера. Розрив з’єднання в браузері не є доказом того, що провайдер припинив генерацію. Якщо остаточні дані про використання відсутні, резервування залишається в стані очікування звірки замість тихого списання оцінки.
Доставка в браузер#
Зберігайте API-ключ на сервері. Використовуйте власну кінцеву точку того самого походження, щоб пересилати SSE у браузер; див. рецепт потокового передавання в браузер.
Приклад запиту
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
}'