fetchSystemPromptParts function
Future<({List<String> defaultSystemPrompt, Map<String, String> systemContext, Map<String, String> userContext})>
fetchSystemPromptParts({
- required GetSystemPromptFn getSystemPrompt,
- required GetUserContextFn getUserContext,
- required GetSystemContextFn getSystemContext,
- String? customSystemPrompt,
Fetch the three context pieces for the API cache-key prefix.
Implementation
Future<
({
List<String> defaultSystemPrompt,
Map<String, String> userContext,
Map<String, String> systemContext,
})
>
fetchSystemPromptParts({
required GetSystemPromptFn getSystemPrompt,
required GetUserContextFn getUserContext,
required GetSystemContextFn getSystemContext,
String? customSystemPrompt,
}) async {
late List<String> defaultSystemPrompt;
late Map<String, String> userContext;
late Map<String, String> systemContext;
if (customSystemPrompt != null) {
defaultSystemPrompt = [];
systemContext = {};
userContext = await getUserContext();
} else {
final results = await Future.wait([
getSystemPrompt(),
getUserContext(),
getSystemContext(),
]);
defaultSystemPrompt = results[0] as List<String>;
userContext = results[1] as Map<String, String>;
systemContext = results[2] as Map<String, String>;
}
return (
defaultSystemPrompt: defaultSystemPrompt,
userContext: userContext,
systemContext: systemContext,
);
}