Skip to contents

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

Functions

  • compose_sys_prompt():

  • compose_usr_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."
 )