completeForUseCase method
Complete with best practices for different use cases
Implementation
Future<CompletionResponse> completeForUseCase(
String prompt,
CompletionUseCase useCase,
) async {
CompletionRequest request;
switch (useCase) {
case CompletionUseCase.creative:
request = CompletionRequest(
prompt: prompt,
temperature: 0.9,
topP: 1.0,
maxTokens: 1000,
);
break;
case CompletionUseCase.factual:
request = CompletionRequest(
prompt: prompt,
temperature: 0.1,
topP: 0.1,
maxTokens: 500,
);
break;
case CompletionUseCase.conversational:
request = CompletionRequest(
prompt: prompt,
temperature: 0.7,
topP: 0.9,
maxTokens: 800,
);
break;
case CompletionUseCase.code:
request = CompletionRequest(
prompt: prompt,
temperature: 0.2,
topP: 0.1,
maxTokens: 1500,
stop: ['\n\n', '```'],
);
break;
case CompletionUseCase.summarization:
request = CompletionRequest(
prompt: prompt,
temperature: 0.3,
topP: 0.8,
maxTokens: 300,
);
break;
}
return await complete(request);
}