Source: https://aiprimetech.io/de/docs/api-reference/streaming/ [Startseite](/de/) / [Dokumentation](/de/docs/) / Streaming # Streaming Server-Sent Events in beiden Formaten — die Ereignisstrukturen unterscheiden sich, und eine Verwechslung wirkt wie eine ausbleibende Antwort. Seite kopieren [ Als Markdown anzeigen](/de/docs/api-reference/streaming.md) [ ChatGPT fragen](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/streaming.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ In Claude fragen](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/streaming.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) Setzen Sie stream auf true, und die Antwort wird zu text/event-stream. Beide Endpunkte unterstützen Streaming, geben aber unterschiedliche Ereignisstrukturen aus. ## Anthropic-Format ``` Copycurl -N https://aiprimetech.io/v1/messages \ -H "x-api-key: $CLAUDEAPIKEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{"model":"claude-sonnet-4-6","max_tokens":512,"stream":true, "messages":[{"role":"user","content":"Count to five"}]}' ``` ``` Copyevent: message_start data: {"type":"message_start","message":{"id":"msg_...","usage":{"input_tokens":9}}} event: content_block_delta data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"One"}} event: message_delta data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":14}} event: message_stop data: {"type":"message_stop"} ``` Text kommt in content_block_delta Ereignissen unter delta.textan. Die endgültige Anzahl der Ausgabe-Tokens kommt in message_delta, nicht message_start. ## OpenAI-Format ``` Copydata: {"choices":[{"delta":{"content":"One"},"index":0}]} data: {"choices":[{"delta":{},"finish_reason":"stop","index":0}]} data: [DONE] ``` Text kommt unter choices[0].delta.contentan, und der Stream endet mit dem wörtlichen data: [DONE] Endmarker, der kein JSON ist. Diese Abweichung führt zu einer leeren Antwort ohne Fehlermeldung: Ein Client, der choices[].delta.content aus einem Messages-Stream ausliest, findet jedes Mal nichts und meldet Erfolg. Wenn Streaming scheinbar funktioniert, aber nichts zurückgibt, prüfen Sie, welche Struktur Sie auslesen. ## Python, Anthropic-SDK ``` Copyfrom anthropic import Anthropic client = Anthropic(api_key=class="s">"sk-your-key", base_url=class="s">"https://aiprimetech.io") with client.messages.stream( model=class="s">"claude-sonnet-4-6", max_tokens=512, messages=[{class="s">"role": class="s">"user", class="s">"content": class="s">"Count to five"}], ) as stream: for text in stream.text_stream: print(text, end=class="s">"", flush=True) ``` ## Betriebshinweise - Verwenden Sie curl -N bei manuellen Tests, sonst puffert curl den gesamten Stream und es sieht so aus, als würde nichts passieren. - Deaktivieren Sie die Proxy-Pufferung vor Ihrer eigenen App (proxy_buffering off in nginx), sonst erhalten Clients die Antwort erst am Ende in einem einzigen Block. - Wird die Verbindung während des Streams unterbrochen, werden die bereits generierten Tokens trotzdem berechnet. - Streaming ändert nicht den Preis — nur den Zeitpunkt, zu dem die Bytes eintreffen. [Messages APIReferenz für Antworten ohne Streaming](/de/docs/api-reference/messages/)[FehlerFehler während des Streams](/de/docs/api-reference/errors/)[FehlerbehebungLeere Antworten](/de/docs/guides/troubleshooting/) [ZurückModell-Endpunkt](/de/docs/api-reference/models-endpoint/)[WeiterFehler](/de/docs/api-reference/errors/)