def service_system_prompt(
role: PromptOrStr,
task: PromptOrStrOrNone = None,
guidelines: PromptOrStrOrNone = None,
system_override_prompt: PromptOrStrOrNone = None,
) -> Prompt:
prompt = Prompt()
if system_override_prompt:
prompt.prompt(system_override_prompt)
return prompt
prompt.heading('Role')
prompt.line_break()
prompt.prompt(role)
if task:
prompt.line_break()
prompt.heading('Task')
prompt.line_break()
prompt.prompt(task)
if guidelines:
prompt.line_break()
prompt.heading('Guidelines')
prompt.line_break()
prompt.prompt(guidelines)
prompt.line_break()
prompt.heading('Constraints')
prompt.line_break()
prompt.list(
[
'Do not add any styling, formatting, explanations, reasoning, or extra text to your response unless specified by your role, task, guidelines, or by the user\'s request.',
'Your response must be valid JSON reflecting the provided JSON schema.',
]
)
return prompt