Streamujte odpoveď agenta
Sledujte dlhý ťah priebežne, aby skript mohol ukazovať postup, namiesto toho, aby dve minúty čakal na odpoveď.
Príklady používajú premenné ELOWEN_URL a ELOWEN_TOKEN z Odošlite prvú požiadavku na API agenta.
Odošlite streamovanú požiadavku
Pridajte do behu "stream": true. Odpoveď prichádza ako server-sent events, preto nechajte spojenie otvorené:
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 odpovede je text/event-stream. Každá udalosť má názov a riadok data s JSON. Funguje akýkoľvek klient pre server-sent events aj prosté čítanie tela odpovede.
Prečítajte udalosti
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}}
| Udalosť | Dáta |
|---|---|
start |
{ conversationId }, vždy prvá. |
delta |
{ text }, ďalšia časť odpovede. |
tool |
{ phase: "start", id?, name, detail? } pri štarte nástroja, { phase: "end", id?, ok } pri jeho konci. |
error |
{ message }, keď ťah zlyhá. Stream potom skončí bez final. |
final |
{ conversationId, reply, usage }, keď je ťah hotový. |
Pozbierajte časti delta v poradí a máte celú odpoveď, alebo použite final, ktoré nesie rovnakú odpoveď aj jej spotrebu.
Keď ťah zlyhá
Ťah, ktorý počas streamu zlyhá, pošle error a skončí bez final. Udalosť nesie správu o zlyhaní.
Ťah, ktorý vôbec nemôže začať, odpovie 500 namiesto otvorenia streamu: napríklad keď agent nie je dostupný alebo sa nepodarilo prepnúť na požadovaný model. Telo potom nesie { "error": "…", "conversationId": "…" }.
Keď sa odpojíte
Ťah beží ďalej, aj keď skript zmizne, a jeho odpoveď sa uloží do konverzácie. Môžete si ju tam vyzdvihnúť alebo v konverzácii neskôr pokračovať cez jej conversationId.
Súvisiace návody
Polia behu popisuje Odošlite prvú požiadavku na API agenta a stavové kódy, ktorými stream môže odpovedať, Chyby API agenta.