Streamujte odpověď agenta
Sledujte dlouhý tah průběžně, aby skript mohl ukazovat postup, místo aby dvě minuty čekal na odpověď.
Příklady používají proměnné ELOWEN_URL a ELOWEN_TOKEN z Odešlete první požadavek na API agenta.
Odešlete streamovaný požadavek
Přidejte do běhu "stream": true. Odpověď přichází jako server-sent events, proto nechte spojení otevřené:
curl -sSN "$ELOWEN_URL/api/v1/agent/runs" \
-H "Authorization: Bearer $ELOWEN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"message":"Check the open pull requests","stream":true}'
Typ odpovědi je text/event-stream. Každá událost má název a řádek data s JSON. Funguje jakýkoli klient pro server-sent events i prosté čtení těla odpovědi.
Přečtěte události
event: start
data: {"conversationId":"brain-12-…"}
event: tool
data: {"phase":"start","id":"t1","name":"Bash","detail":"gh pr list"}
event: tool
data: {"phase":"end","id":"t1","ok":true}
event: delta
data: {"text":"There are three open"}
event: delta
data: {"text":" pull requests…"}
event: final
data: {"conversationId":"brain-12-…","reply":"There are three open pull requests…","usage":{"tokens":2210,"costUsd":0.019}}
| Událost | Data |
|---|---|
start |
{ conversationId }, vždy první. |
delta |
{ text }, další část odpovědi. |
tool |
{ phase: "start", id?, name, detail? } při startu nástroje, { phase: "end", id?, ok } při jeho konci. |
error |
{ message }, když tah selže. Stream pak skončí bez final. |
final |
{ conversationId, reply, usage }, když je tah hotový. |
Posbírejte části delta v pořadí a máte celou odpověď, nebo použijte final, které nese stejnou odpověď i její spotřebu.
Když tah selže
Tah, který během streamu selže, pošle error a skončí bez final. Událost nese zprávu o selhání.
Tah, který vůbec nemůže začít, odpoví 500 místo otevření streamu: například když agent není dostupný nebo se nepodařilo přepnout na požadovaný model. Tělo pak nese { "error": "…", "conversationId": "…" }.
Když se odpojíte
Tah běží dál, i když skript zmizí, a jeho odpověď se uloží do konverzace. Můžete si ji tam vyzvednout, nebo v konverzaci později pokračovat přes její conversationId.
Související návody
Pole běhu popisuje Odešlete první požadavek na API agenta a stavové kódy, kterými stream může odpovědět, Chyby API agenta.