Stream HelpersStreamingTextResponse
StreamingTextResponse
It is a utility class that simplifies the process of returning a ReadableStream of text in HTTP responses. It is a lightweight wrapper around the native Response class, automatically setting the status code to 200 and the Content-Type header to 'text/plain; charset=utf-8'
Import
import { StreamingTextResponse } from "ai"
Example
const result = await streamText({ model, messages });
// use stream dataconst data = new StreamData();
data.append('initialized call');
// return a StreamingTextResponse that combines// the result stream with the data stream:return new StreamingTextResponse( result.toAIStream({ onFinal() { data.append('call completed'); data.close(); }, }), {}, data,);
API Signature
Parameters
stream:
The stream of content which represents the HTTP response.
init?:
It can be used to customize the properties of the HTTP response. It is an object that corresponds to the ResponseInit object used in the Response constructor.
ResponseInit
status?:
The status code for the response. StreamingTextResponse will overwrite this value with 200.
statusText?:
The status message associated with the status code.
headers?:
Any headers you want to add to your response. StreamingTextResponse will add 'Content-Type': 'text/plain; charset=utf-8' to these headers.
data?:
StreamData object that you are using to generate additional data for the response.
Returns
An instance of Response with the provided ReadableStream as the body, the status set to 200, and the Content-Type header set to 'text/plain; charset=utf-8'. Additional headers and properties can be added using the init parameter