perf: improve AI prompt cache reuse
This commit is contained in:
@@ -57,7 +57,11 @@ void main() {
|
||||
() => MockClient((request) async {
|
||||
final body = jsonDecode(request.body) as Map<String, dynamic>;
|
||||
final messages = body['messages'] as List<dynamic>;
|
||||
prompts.add((messages.single as Map<String, dynamic>)['content']);
|
||||
expect(messages, hasLength(2));
|
||||
expect(messages.first['role'], 'system');
|
||||
expect(messages.last['role'], 'user');
|
||||
prompts.add(messages.first['content'] as String);
|
||||
prompts.add(messages.last['content'] as String);
|
||||
return http.Response(
|
||||
jsonEncode({
|
||||
'choices': [
|
||||
@@ -73,7 +77,8 @@ void main() {
|
||||
);
|
||||
|
||||
expect(variant, isNotNull);
|
||||
expect(prompts, hasLength(1));
|
||||
expect(prompts, hasLength(2));
|
||||
final fullPrompt = prompts.join('\n');
|
||||
for (final field in [
|
||||
'schemaVersion',
|
||||
'variantId',
|
||||
@@ -81,10 +86,10 @@ void main() {
|
||||
'prompt',
|
||||
'expectedAnswer',
|
||||
]) {
|
||||
expect(prompts.single, contains(field));
|
||||
expect(fullPrompt, contains(field));
|
||||
}
|
||||
for (final field in ['stimulus', 'acceptedAnswers', 'forbiddenPhrases']) {
|
||||
expect(prompts.single, isNot(contains(field)));
|
||||
expect(fullPrompt, isNot(contains(field)));
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user