Straumēšana

Kā straumēta pabeigšana nonāk pārraidē, ko satur pēdējais kadrs un kas notiek, kad klients atvienojas.

Pārvads

Iestatiet stream: true, un atbilde ir text/event-stream: viens JSON objekts uz katru data: rindu, katrai seko tukša rinda. Buferēšana ir atspējota, lai starpniekserveris neturētu kadrus atpakaļ.

HTTP/1.1 200 OK
content-type: text/event-stream; charset=utf-8
cache-control: no-cache, no-transform
connection: keep-alive

Kadri

Pirmais kadrs satur asistenta lomu, pēc tam viens kadrs uz katru delta, pēc tam kadrs ar finish_reason un maršrutēšanas bloku, pēc tam tieši viens terminators. Klients, kas ievēro formātu, nolasa terminatoru un apstājas; tam nav jāuzskata trūkstošs terminators par pilnīgu atbildi.

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hallo"},"finish_reason":null}]}

data: {"id":"chatcmpl-…","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}],"llmeu":{…}}

data: [DONE]

Maršrutēšanas bloks ceļo kopā ar pēdējo kadru

Pēdējais kadrs satur to pašu llmeu objektu, ko atgriež nestraumētā atbilde: trace_id, model_used, model_version, provider, endpoint_id, inference_region, sovereignty_class, policy_id, retention un izmaksu aplēse. Straumēšanas režīmā lietojums ir zināms tikai beigās, tāpēc bloks ceļo kopā ar pēdējo kadru, nevis pirmo.

Klienta atvienošanās

Savienojuma aizvēršana pārtrauc darbu un ieraksta izsekojumu ar to, kas faktiski tika radīts. Atcelts pieprasījums joprojām ir noticis izsaukums, tāpēc tas parādās lietojumā; tas netiek reģistrēts kā pabeigta pabeigšana.

Ko nevar straumēt

Embeddingi un platformas API ir atsevišķas JSON atbildes. stream: true nestraumēšanas maršrutā ir validācijas kļūda, nevis klusa atkāpšanās uz vienu kadru.