evaluate method
Implementation
Future<EvaluationResult> evaluate({String? prompt, required String question, required String answer, int attempts = 3}) async {
final response = await client.simpleQuery(
prompt: prompt ?? evaluationPrompt,
contexts: [
Context(name: 'question', value: question),
Context(name: 'answer', value: answer),
],
);
final result = convertToVerificationResult(response);
if (result == null) {
if (--attempts == 0) throw Exception('Failed to verify answer');
print("Remain attempts: $attempts");
return evaluate(question: question, answer: answer, attempts: attempts);
} else {
return result;
}
}