Files
erp-ai-latest/src/prompts/questions.py
T

150 lines
7.5 KiB
Python
Raw Normal View History

2024-09-10 02:51:31 +01:00
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).
2024-09-11 21:22:17 +00:00
The questions should become more detailed or challenging as the assessment progresses over time and the question is
2024-09-10 02:51:31 +01:00
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)
2024-09-25 21:40:08 +00:00
frequency number(the current week or frequency e.g if assessment is weekly and frequcny number is 2 , it means week 2): (e.g., day 3, week 2, biweekly 1)
2024-09-10 02:51:31 +01:00
total duration: (e.g., 6 weeks, 12 days)
SOPs of the assessment:
roles_data e.g [{"position""test position","mame":"name of staff"}]
2024-09-10 02:51:31 +01:00
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
2024-09-10 02:51:31 +01:00
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
2024-09-25 21:40:08 +00:00
5. make sure the questions are up to 20 for the current frequency
2024-09-10 02:51:31 +01:00
Example response:
questions
{
"questions": [
{
"frequency_number": "2",
"questions": [
{
"assigned_to": "name",
"role": "person role",
2024-09-10 02:51:31 +01:00
"question": "e.g., Is the internal project team being followed according to the SOP?"
2024-09-25 21:40:08 +00:00
"area_tag":"timeline",
"postion":"person position"
2024-09-10 02:51:31 +01:00
}
] ## up to at least 20 questions
2024-09-10 02:51:31 +01:00
},
{
"frequency_number": "3",
"questions": [
{
"assigned_to": "name",
"role": "person role",
"question": "e.g., Have communication protocols been followed for the task at hand?".
2024-09-25 21:40:08 +00:00
"area_tag":"communication",
"position":"person position"
} ## 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).
2024-10-15 01:56:05 +00:00
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 an area tag ID, aissgned_to ID, role ID, beacuse each role sop will the provided with area tags and member for that role, so questions should be generated based on that area
The questions should become more detailed or challenging as the assessment progresses over time and the question is
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.
2024-10-15 01:56:05 +00:00
3. Tag each question with the provided topic area ID (e.g., 1, 2, 3, 4, 5).
4. Tag each question with the provided role ID (e.g., 1, 2, 3, 4, 5).
5. Tag each question with the provided assigned_to ID (the ID of the person in charge) (e.g., 1, 2, 3, 4, 5).
4. The questions should evolve in detail as assessments progress over time.
2024-10-15 01:56:05 +00:00
6. For example if ans assement_type is weekly and the duration is 4, this means we generate questions for 4 weeks , frequency_number 1 to top 4 using the sop and all data
7 For each frequency_number, generate at least 15 - 20 questions.
Example response:
2024-10-15 01:56:05 +00:00
{
"questions": {
"questions": [
2024-10-15 01:56:05 +00:00
{
frequency_number: 1,
items: [
{
"area_tag": 5,
"assigned_to": 8,
"questions": "Has the content calendar been developed and shared with the team?",
"role": 4
},
{
}
]
},
{
     }
        ]
2024-09-10 02:51:31 +01:00
"""
return prompt
2024-10-15 01:56:05 +00:00
def get_questions_prompt_v3():
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 the provided topic area ID (e.g., 1, 2, 3, 4, 5).
4. Tag each question with the provided role ID (e.g., 1, 2, 3, 4, 5).
5. Tag each question with the provided assigned_to ID (the ID of the person in charge) (e.g., 1, 2, 3, 4, 5).
6. The questions should evolve in detail as assessments progress over time.
7. For each frequency_number, generate at least 15 - 20 questions.
Provide the response in the following JSON format:
{
"questions": {
"questions": [
{
"frequency_number": 1,
"items": [
{
"area_tag": 5,
"assigned_to": 8,
"questions": "Has the content calendar been developed and shared with the team?",
"role": 4
},
...
]
},
...
]
}
}
"""
return prompt