101 lines
4.5 KiB
Python
101 lines
4.5 KiB
Python
def get_questions_prompt():
|
|
# Header part of the prompt, explaining the context
|
|
prompt = """
|
|
You are generating a variable number of assessment questions for different assessment types, which can be daily, weekly, biweekly, etc. The assessment frequency and the specific frequency number should be taken into account when generating the questions.
|
|
For a particular assessment, based on the type (e.g., daily, weekly, biweekly) and total duration (e.g., if it is weekly and the total duration is 6 weeks, generate at least 20 questions weekly for up to six weeks).
|
|
Each question will be based on the SOPs of specific workers in different departments, and the questions should vary depending on the assessment frequency type and frequency number.
|
|
The goal of the assessment is to focus on the progress of the tasks outlined in each worker's SOPs.
|
|
Make sure each question is relevant to the worker's SOP, and attach a tag to each question indicating the topic area (e.g., communication, timeline, development).
|
|
The questions should become more detailed or challenging as the assessment progresses over time and the question is
|
|
If either the name or role of the assigned person is available in the SOP, use it to formulate the questions.
|
|
|
|
Input:
|
|
assessment type: (e.g., daily, weekly, biweekly)
|
|
frequency type: (e.g., daily, weekly, biweekly)
|
|
frequency number: (e.g., day 3, week 2, biweekly 1)
|
|
total duration: (e.g., 6 weeks, 12 days)
|
|
SOPs of the assessment:
|
|
roles_data e.g [{"position""test position","mame":"name of staff"}]
|
|
|
|
Instructions:
|
|
|
|
1. Review the SOPs of the assessment and generate questions for the workers based on the frequency type, frequency number, and topic areas and roles data provided
|
|
2. Regardless of the assement type, always use 1,2,3 for the frequency numbering, nothing else
|
|
3. All questions are "yes" or "no" questions nothing extra and precise ,not long
|
|
4. Generate a total of at least 20 questions all rounda based on the sops and roles for each frequency number
|
|
Example response:
|
|
|
|
questions
|
|
{
|
|
"questions": [
|
|
{
|
|
|
|
"frequency_number": "2",
|
|
"questions": [
|
|
{
|
|
"assigned_to": "name",
|
|
"role": "person role",
|
|
"question": "e.g., Is the internal project team being followed according to the SOP?"
|
|
"area_tag":"timeline"
|
|
}
|
|
] ## up to at least 20 questions
|
|
},
|
|
{
|
|
|
|
"frequency_number": "3",
|
|
"questions": [
|
|
{
|
|
"assigned_to": "name",
|
|
"role": "person role",
|
|
"question": "e.g., Have communication protocols been followed for the task at hand?".
|
|
"area_tag":"communication"
|
|
} ## up to at least 20 questions
|
|
]
|
|
}
|
|
]
|
|
}
|
|
"""
|
|
return prompt
|
|
|
|
|
|
def get_questions_prompt_v2():
|
|
prompt = """
|
|
You are tasked with generating assessment questions for workers based on their SOPs. These questions should vary by assessment type (daily, weekly, biweekly), frequency number (e.g., day 2, week 3), and total duration (e.g., 6 weeks).
|
|
|
|
Guidelines:
|
|
1. Generate yes/no questions relevant to each worker's SOP based on their role.
|
|
2. Use frequency numbers as 1, 2, 3, etc., regardless of the type.
|
|
3. Tag each question with its topic area (e.g., communication, timeline).
|
|
4. The questions should evolve in detail as assessments progress over time.
|
|
|
|
Example response:
|
|
|
|
{
|
|
"questions": [
|
|
{
|
|
"frequency_number": "2",
|
|
"questions": [
|
|
{
|
|
"assigned_to": "John",
|
|
"role": "Data Analyst",
|
|
"question": "Is the dataset being cleaned according to the SOP?",
|
|
"area_tag": "data quality"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"frequency_number": "3",
|
|
"questions": [
|
|
{
|
|
"assigned_to": "Jane",
|
|
"role": "Data Scientist",
|
|
"question": "Are predictive models tested for accuracy before deployment?",
|
|
"area_tag": "model validation"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
"""
|
|
return prompt
|