This function is a simple wrapper to compose a good prompt for ChatGPT. The output is nothing more than the juxtaposition on separate lines of the various components (with the additional text enclosed between the delimiters at the bottom of the prompt). So its use is more focused and useful for remembering and getting used to entering the components useful for a good prompt.
Usage
compose_prompt(
role = NULL,
context = NULL,
task = NULL,
instructions = NULL,
output = NULL,
style = NULL,
examples = NULL,
text = NULL,
closing = NULL,
delimiter = if (is.null(text)) NULL else "\"\"\"\""
)
compose_sys_prompt(role = NULL, context = NULL)
compose_usr_prompt(
task = NULL,
instructions = NULL,
output = NULL,
style = NULL,
examples = NULL,
text = NULL,
closing = NULL,
delimiter = if (is.null(text)) NULL else "\"\"\""
)
Arguments
- role
(chr) The role that ChatGPT should play
- context
(chr) The context behind the task required
- task
(chr) The tasks ChatGPT should assess
- instructions
(chr) Description of steps ChatGPT should follow
- output
(chr) The type/kind of output required
- style
(chr) The style ChatGPT should use in the output
- examples
(chr) Some examples of correct output
- text
(chr) Additional text to embed in the prompt
- closing
(chr) Text to include at the end of the prompt
- delimiter
(chr) delimiters for the
text
to embed, a sequence of three identical symbols is suggested
Value
(chr) the glue of all the prompts components
(chr) The complete system prompt
(chr) The complete user prompt
Examples
if (FALSE) {
compose_prompt(
role = "Sei l'assistente di un docente universitario.",
context = "
Tu e lui state preparando un workshop sull'utilizzo di ChatGPT
per biostatisitci ed epidemiologi.",
task = "
Il tuo compito è trovare cosa dire per spiegare cosa sia una
chat di ChatGPT agli studenti, considerando che potrebbe
esserci qualcuno che non ne ha mai sentito parlare (e segue
il worksho incuriosito dal titolo o dagli amici).",
output = "
Riporta un potenziale dialogo tra il docente e gli studenti
che assolva ed esemplifichi lo scopo descritto.",
style = "Usa un tono amichevole, colloquiale, ma preciso."
)
}
if (FALSE) {
msg_sys <- compose_sys_prompt(
role = "Sei l'assistente di un docente universitario.",
context = "
Tu e lui state preparando un workshop sull'utilizzo di ChatGPT
per biostatisitci ed epidemiologi."
)
}
msg_usr <- compose_usr_prompt(
task = "
Il tuo compito è trovare cosa dire per spiegare cosa sia una
chat di ChatGPT agli studenti, considerando che potrebbe
esserci qualcuno che non ne ha mai sentito parlare (e segue
il worksho incuriosito dal titolo o dagli amici).",
output = "
Riporta un potenziale dialogo tra il docente e gli studenti
che assolva ed esemplifichi lo scopo descritto.",
style = "Usa un tono amichevole, colloquiale, ma preciso."
)