---
title: "makeSamples(_:targetCount:sessionProvider:validator:)"
framework: swift
role: symbol
role_heading: Instance Method
path: "swift/array/makesamples(_:targetcount:sessionprovider:validator:)-5j7t0"
---

# makeSamples(_:targetCount:sessionProvider:validator:)

Generates synthetic data based on this dataset and returns a stream of new samples.

## Declaration

```swift
func makeSamples<T>(_ prompt: Prompt, targetCount: Int, sessionProvider: (@Sendable () -> LanguageModelSession)? = nil, validator: (nonisolated(nonsending) @Sendable (ModelSample<T>) async throws -> Bool)? = nil) -> some AsyncSequence<ModelSample<T>, any Error> where Element == ModelSample<T>, T : Generable, T : Decodable, T : Encodable, T : Sendable

```

## Discussion

Discussion For more control over generation, create a SampleGenerator directly.
