createUIMessageStreamResponse
The createUIMessageStreamResponse
function creates a Response object that streams UI messages to the client.
Import
import { createUIMessageStreamResponse } from "ai"
Example
import { createUIMessageStream, createUIMessageStreamResponse } from 'ai';
const response = createUIMessageStreamResponse({ status: 200, statusText: 'OK', headers: { 'Custom-Header': 'value', }, stream: createUIMessageStream({ execute({ writer }) { // Write custom data writer.write({ type: 'data', value: { message: 'Hello' }, });
// Write text content writer.write({ type: 'text', value: 'Hello, world!', });
// Write source information writer.write({ type: 'source-url', value: { type: 'source', id: 'source-1', url: 'https://example.com', title: 'Example Source', }, });
// Merge with LLM stream const result = streamText({ model: openai('gpt-4'), prompt: 'Say hello', });
writer.merge(result.toUIMessageStream()); }, }),});
API Signature
Parameters
stream:
ReadableStream<UIMessageChunk>
The UI message stream to send to the client.
status?:
number
The status code for the response. Defaults to 200.
statusText?:
string
The status text for the response.
headers?:
Headers | Record<string, string>
Additional headers for the response.
consumeSseStream?:
(options: { stream: ReadableStream<string> }) => PromiseLike<void> | void
Optional callback to consume the Server-Sent Events stream.
Returns
Response
A Response object that streams UI message chunks with the specified status, headers, and content.