Transmite un răspuns de chat
Citește evenimentele server-sent pentru completări de chat ShareAI, adaugă delta-urile de conținut o singură dată și gestionează completarea, erorile și fluxurile întrerupte.
Pe această pagină
Setează stream: true pentru a primi răspunsul incremental. Menține conexiunea HTTP deschisă, analizează evenimentele SSE complete și adaugă fiecare delta de conținut o singură dată.
https://api.shareai.now/api/v1/chat/completionsReturnează un flux de evenimente server-sent.
- URL de bază
https://api.shareai.now- Autentificare
- Cheie API Bearer sau token de acces OAuth aprobat
cURL
curl --no-buffer --fail-with-body https://api.shareai.now/api/v1/chat/completions \
-H "Authorization: Bearer $SHAREAI_API_KEY" \
-H "Content-Type: application/json" \
--data '{"model":"MODEL_IDENTIFIER","messages":[{"role":"user","content":"Explain server-sent events briefly."}],"stream":true}'
Citește limitele evenimentelor#
SSE separă evenimentele cu o linie goală. Blocurile de rețea pot împărți o valoare JSON sau pot conține mai multe evenimente, așa că nu analiza fiecare citire de rețea ca un răspuns JSON complet. Decodează UTF-8 incremental și păstrează datele incomplete până când evenimentul este complet.
Plain text
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"Hello"},"finish_reason":null}]}
data: {"object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
Redă conținutul o singură dată#
Adaugă choices[0].delta.content când este prezent. Păstrează spațiile albe și cuvintele repetate. Un bloc doar cu rol sau final poate să nu conțină conținut. Tratează [DONE] ca terminatorul fluxului.
Gestionează erorile fluxului#
Verifică statusul HTTP înainte de a intra în parser-ul SSE. După ce streaming-ul începe, gestionează un event: error eveniment și o deconectare neașteptată. Marchează un răspuns întrerupt ca incomplet și permite utilizatorului să încerce din nou explicit. Nu adăuga un al doilea răspuns generat independent la un rezultat parțial.
Anulează din aplicația ta#
Utilizează mecanismul de anulare al clientului tău HTTP atunci când utilizatorul oprește generarea. Păstrează anularea, o eroare de rețea și un răspuns complet ca stări separate ale interfeței. Nu promite că închiderea unei conexiuni client inversează utilizarea deja procesată.
Ultima actualizare: 15 septembrie 2026