---
title: "respond(options:contextOptions:metadata:prompt:)"
framework: foundationmodels
role: symbol
role_heading: Instance Method
path: "foundationmodels/languagemodelsession/respond(options:contextoptions:metadata:prompt:)"
---

# respond(options:contextOptions:metadata:prompt:)

Produces a response to a prompt.

## Declaration

```swift
@discardableResult nonisolated(nonsending) final func respond(options: GenerationOptions = GenerationOptions(), contextOptions: ContextOptions = ContextOptions(), metadata: [String : any Sendable & Codable & Equatable] = [:], @PromptBuilder prompt: () throws -> Prompt) async throws -> LanguageModelSession.Response<String>
```

## Parameters

- `options`: Options that control how tokens are sampled from the distribution the model produces.
- `contextOptions`: Settings that configure how the model is prompted.
- `metadata`: Metadata to attach to the request.
- `prompt`: A prompt for the model to respond to.

## Return Value

Return Value A string composed of the tokens produced by sampling model output.

## See Also

### Generating a response with metadata

- [respond(generating:options:contextOptions:metadata:prompt:)](foundationmodels/languagemodelsession/respond(generating:options:contextoptions:metadata:prompt:).md)
- [respond(schema:options:contextOptions:metadata:prompt:)](foundationmodels/languagemodelsession/respond(schema:options:contextoptions:metadata:prompt:).md)
- [respond(to:options:contextOptions:metadata:)](foundationmodels/languagemodelsession/respond(to:options:contextoptions:metadata:).md)
- [respond(to:generating:options:contextOptions:metadata:)](foundationmodels/languagemodelsession/respond(to:generating:options:contextoptions:metadata:).md)
- [respond(to:schema:options:contextOptions:metadata:)](foundationmodels/languagemodelsession/respond(to:schema:options:contextoptions:metadata:).md)
