POST /v1/responses zu senden und eine vollständige Antwort zu erhalten.
Antwort streamen
Jedes geparste Event (TypeScript und Python) behält seine ursprünglichen Felder (
type, delta, …) und ergänzt text, usage und Reasoning-Tokens (reasoningTokens / reasoning_tokens). text enthält nur neuen Text: Bei .done-Events und response.completed, die bereits erhaltenen Text wiederholen, ist es leer, und der vollständige Text eines .done-Events steht in fullText / full_text.
Mit rohen SSE-Zeilen (C#, PHP, Ruby, Java) parst du jede data:-Zeile als JSON und behandelst Event-Namen, Event-Typen wie response.output_text.delta und response.completed sowie Abschlussmarker selbst. Die Streaming-Methoden setzen stream: true für dich, setze es also nicht in der Anfrage.
Ausgabetext lesen
Die Ausgabe ist ein Array von Elementen. Text steht inoutput-Elementen vom Typ message, Funktionsaufrufe in Elementen vom Typ function_call und Token-Zahlen in usage. In Python fügt resp.output_text den Text für dich zusammen.
Funktions-Tools senden
Der Anfrage-Body ist in jedem SDK gleich. In Rust:Rust
Parameter
Die Feldnamen sind in jedem SDK die Felder des JSON-Bodys. Die typisiertephaseo.ResponsesRequest in Go verwendet Struct-Felder in PascalCase (Model, Input).
Parameter erklärt jedes Feld, und die Responses-API-Referenz enthält das vollständige Schema.
Antwort
ResponsesResponse:
stream: true sendet der Endpunkt typisierte SSE-Events. Text kommt in response.output_text.delta-Events an, und das abschließende Event response.completed enthält die gesamte Antwort mit Nutzung: