added bot prediction for assessments
This commit is contained in:
+132
-1
@@ -1,3 +1,5 @@
|
||||
|
||||
|
||||
def validate_worker_prompt() -> str:
|
||||
return """
|
||||
You are a worker in the company "Validate" where you are asked a specific yes or no question:
|
||||
@@ -15,4 +17,133 @@ def validate_worker_prompt() -> str:
|
||||
result:"validated"
|
||||
}
|
||||
"""
|
||||
|
||||
def predict_based_past_assessment_prompt(query,company_info, summary_stats):
|
||||
# Extract company information from the dictionary
|
||||
company_name = company_info['company_name']
|
||||
company_size = company_info['company_size']
|
||||
departments = company_info['departments']
|
||||
|
||||
# Create the prompt with the provided company info and summary statistics
|
||||
prompt = f"""
|
||||
**Prompt for the Chatbot:**
|
||||
|
||||
**Context:**
|
||||
You are an AI assistant working for {company_name}, and your primary responsibility is to provide **insights**, **predictions**, and **recommendations** based on the company's past assessment data and organizational structure. You are not allowed to respond to any queries outside of this domain.
|
||||
|
||||
**General Company Information:**
|
||||
- **Company Name**: {company_name}
|
||||
- **Company Size**: {company_size} (e.g., Small, Medium, Large)
|
||||
- **Departments**:
|
||||
{', '.join(departments)}
|
||||
|
||||
**Assessment Summary**:
|
||||
The following is a detailed summary of past assessments at {company_name}. Use this information to provide predictions and recommendations based on trends and data points.
|
||||
|
||||
- **Open Items and Red Flags**:
|
||||
- Total Open Items: {summary_stats['Open Items and Red Flags']['Total Open Items']}
|
||||
- Average Open Items per Assessment: {summary_stats['Open Items and Red Flags']['Average Open Items per Assessment']}
|
||||
- Total Red Flags: {summary_stats['Open Items and Red Flags']['Total Red Flags']}
|
||||
- Average Red Flags per Assessment: {summary_stats['Open Items and Red Flags']['Average Red Flags per Assessment']}
|
||||
- Max Red Flags in a Single Assessment: {summary_stats['Open Items and Red Flags']['Max Red Flags in a Single Assessment']}
|
||||
- Most Common Area with Red Flags: {summary_stats['Open Items and Red Flags']['Most Common Area with Red Flags']}
|
||||
|
||||
- **Assessment Frequency**:
|
||||
- Weekly: {summary_stats['Assessment Frequency']['Assessment Type Breakdown'].get('Weekly', 0) * 100}%
|
||||
- Bi-Weekly: {summary_stats['Assessment Frequency']['Assessment Type Breakdown'].get('Bi-Weekly', 0) * 100}%
|
||||
- Quarterly: {summary_stats['Assessment Frequency']['Assessment Type Breakdown'].get('Quarterly', 0) * 100}%
|
||||
- Average Time Between Assessments: {summary_stats['Assessment Frequency']['Average Time Between Assessments']} days
|
||||
- Average Assessment Duration: {summary_stats['Assessment Frequency']['Average Assessment Duration']} days
|
||||
|
||||
- **Assessment Start and End Dates**:
|
||||
- Longest Assessment Duration: {summary_stats['Assessment Start and End Dates']['Longest Assessment Duration (days)']} days
|
||||
- Shortest Assessment Duration: {summary_stats['Assessment Start and End Dates']['Shortest Assessment Duration (days)']} days
|
||||
|
||||
- **Assessment Areas**:
|
||||
- Most Assessed Area: {summary_stats['Assessment Areas']['Most Assessed Area']}
|
||||
- Most Open Items in Area: {summary_stats['Assessment Areas']['Most Open Items in Area']}
|
||||
- Area with Most Red Flags: {summary_stats['Assessment Areas']['Area with Most Red Flags']}
|
||||
|
||||
- **Assessment Status**:
|
||||
- Completed: {summary_stats['Assessment Status']['Assessment Status Distribution'].get('Completed', 0) * 100}%
|
||||
- In Progress: {summary_stats['Assessment Status']['Assessment Status Distribution'].get('In Progress', 0) * 100}%
|
||||
- Incomplete: {summary_stats['Assessment Status']['Assessment Status Distribution'].get('Incomplete', 0) * 100}%
|
||||
|
||||
- **Assessment Admin**:
|
||||
- Most Frequent Admin: {summary_stats['Assessment Admin']['Most Frequent Admin']}
|
||||
- Admin with Fewest Red Flags: {summary_stats['Assessment Admin']['Admin with Fewest Red Flags']}
|
||||
- Admin with Most Open Items: {summary_stats['Assessment Admin']['Admin with Most Open Items']}
|
||||
|
||||
**Instructions:**
|
||||
Use the above information to answer user queries. You should:
|
||||
- Analyze historical data to identify trends and problem areas.
|
||||
- Predict potential outcomes for future assessments based on past performance (e.g., meeting deadlines, reducing red flags).
|
||||
- Provide **actionable recommendations** that can help improve performance in future assessments.
|
||||
|
||||
**User Query**:
|
||||
"{query}"
|
||||
|
||||
**Your Response**:
|
||||
Predict and provide recommendations based on the company’s historical data, focusing on the areas most relevant to the query. Ensure the response is based on past trends and performance issues.
|
||||
|
||||
**Examples of Insightful Responses**:
|
||||
- "To improve your performance in the next assessment, you should focus on reducing red flags in the Communication department, as it has had the most issues."
|
||||
- "Based on the company's past performance, there is a 70% chance that you will meet the deadline for the next weekly assessment. To ensure success, focus on completing open items in the IT department."
|
||||
- "The data indicates that quarterly assessments have the highest rate of incomplete tasks. I recommend prioritizing quarterly assessment tasks to avoid falling behind."
|
||||
"""
|
||||
|
||||
return prompt
|
||||
|
||||
|
||||
|
||||
def predict_next_n_assessments_prompt():
|
||||
|
||||
# Create the prompt with provided company info, summary statistics, and number of assessments (n)
|
||||
prompt = """
|
||||
**Prompt for the Chatbot:**
|
||||
|
||||
**Context:**
|
||||
You are an AI assistant responsible for analyzing the past assessment data of , and your primary responsibility is to provide **predictions** for the next {n} assessments.
|
||||
These assessments can occur on a **weekly**, **bi-weekly**, or **quarterly** basis. Use the company's past performance to predict the following for each of the next {n} assessments:
|
||||
- **Number of Open Items**.
|
||||
- **Number of Red Flags**.
|
||||
- **Predictions for Weekly, Bi-Weekly, and Quarterly assessments**.
|
||||
input :
|
||||
- company basic info
|
||||
- past assessment statitics
|
||||
- N - number of next assessments to be predicted
|
||||
**General Company Information:**
|
||||
|
||||
|
||||
**Assessment Summary (Past Data)**:
|
||||
The Detailed information on past asssessment will be provided. Use this information to make predictions for the next {n} assessments.
|
||||
|
||||
|
||||
**Instructions**:
|
||||
- Predict the number of open items and red flags for the next n assessments if they are conducted on a weekly, bi-weekly, or quarterly basis.
|
||||
- Use the historical summary statistics provided above to guide your predictions.
|
||||
- Return the response in the following JSON format:
|
||||
|
||||
**Response Format**:
|
||||
|
||||
{
|
||||
"assessment 1": [
|
||||
{
|
||||
"weekly": {"open_items": X, "red_flags": Y}},
|
||||
"biweekly": {{"open_items": X, "red_flags": Y}},
|
||||
"quarterly": {{"open_items": X, "red_flags": Y}}
|
||||
}
|
||||
],
|
||||
"assessment 2": [
|
||||
{
|
||||
"weekly": {"open_items": X, "red_flags": Y},
|
||||
"biweekly": {"open_items": X, "red_flags": Y},
|
||||
"quarterly": {"open_items": X, "red_flags": Y}
|
||||
}
|
||||
]
|
||||
// assuming N is 2
|
||||
}
|
||||
```
|
||||
Ensure each assessment is provided with three predictions: one for Weekly, one for Bi-Weekly, and one for Quarterly assessments.
|
||||
"""
|
||||
|
||||
return prompt
|
||||
|
||||
Reference in New Issue
Block a user