batchComplete method
Batch complete multiple prompts
Implementation
Future<List<CompletionResponse>> batchComplete(
List<String> prompts, {
String? model,
int? maxTokens,
double? temperature,
int? concurrency = 5,
}) async {
final results = <CompletionResponse>[];
// Process in batches to avoid overwhelming the API
final batchSize = concurrency ?? 5;
for (int i = 0; i < prompts.length; i += batchSize) {
final batch = prompts.skip(i).take(batchSize);
final futures = batch.map((prompt) => complete(CompletionRequest(
prompt: prompt,
maxTokens: maxTokens,
temperature: temperature,
)));
final batchResults = await Future.wait(futures);
results.addAll(batchResults);
}
return results;
}