Потоковая передача токенов
Обновлено 20 сентября 2023
Потоковая передача токенов поможет обрабатывать ответ GigaChat по мере его генерации.
При включении этого режима GigaChat передает токены в потоке коротких сообщений, формат которых соответствует протоколу server-sent events
. Последним в потоке будет событие data: [DONE]
.
Вы можете включить потоковую передачу токенов. Для этого в запросе POST /chat/completions
нужно передать параметр "stream": true
.
Пример запроса:
curl https://gigachat.devices.sberbank.ru/api/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer Token ***' \
-d '{
"model": "GigaChat:latest",
"messages": [{"role": "user", "content": "Say this is a test!"}],
"temperature": 0.7,
"stream": true
}'
Пример потока событий:
data:
{
"choices":
[
{
"delta":
{
"content": "GigaСhat",
"role": "assistant"
},
"index": 0
}
],
"created": 1683034756,
"model": "GigaChat:latest",
"object": "chat.completion"
}
data:
{
"choices":
[
{
"delta":
{
"content": " спешит"
},
"index": 0
}
],
"created": 1683034756,
"model": "GigaChat:latest",
"object": "chat.completion"
}
data:
{
"choices":
[
{
"delta":
{
"content": " на"
},
"index": 0
}
],
"created": 1683034756,
"model": "GigaChat:latest",
"object": "chat.completion"
}
data:
{
"choices":
[
{
"delta":
{
"content": " помощь"
},
"index": 0
}
],
"created": 1683034756,
"model": "GigaChat:latest",
"object": "chat.completion"
}
data: [DONE]