---
title: "streamResponse(options:prompt:)"
framework: foundationmodels
role: symbol
role_heading: Instance Method
path: "foundationmodels/languagemodelsession/streamresponse(options:prompt:)"
---

# streamResponse(options:prompt:)

Produces a response stream to a prompt.

## Declaration

```swift
final func streamResponse(options: GenerationOptions = GenerationOptions(), @PromptBuilder prompt: () throws -> Prompt) rethrows -> sending LanguageModelSession.ResponseStream<String>
```

## Parameters

- `options`: Options that control how tokens are sampled from the distribution the model produces.
- `prompt`: A prompt for the model to respond to.

## Return Value

Return Value A response stream that produces aggregated tokens.

## Discussion

Discussion important: If running in the background, use the non-streaming respond(to:options:) method to reduce the likelihood of encountering LanguageModelError.rateLimited(_:) errors.

## See Also

### Streaming a response

- [streamResponse(generating:includeSchemaInPrompt:options:prompt:)](foundationmodels/languagemodelsession/streamresponse(generating:includeschemainprompt:options:prompt:).md)
- [streamResponse(schema:includeSchemaInPrompt:options:prompt:)](foundationmodels/languagemodelsession/streamresponse(schema:includeschemainprompt:options:prompt:).md)
- [streamResponse(to:options:)](foundationmodels/languagemodelsession/streamresponse(to:options:).md)
- [streamResponse(to:generating:includeSchemaInPrompt:options:)](foundationmodels/languagemodelsession/streamresponse(to:generating:includeschemainprompt:options:).md)
- [streamResponse(to:schema:includeSchemaInPrompt:options:)](foundationmodels/languagemodelsession/streamresponse(to:schema:includeschemainprompt:options:).md)
- [LanguageModelSession.ResponseStream](foundationmodels/languagemodelsession/responsestream.md)
