Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -120,7 +120,7 @@ def evaluate_compliance(document: str, requirements: str) -> str:
|
|
| 120 |
response = model.generate_content(prompt)
|
| 121 |
return response.text
|
| 122 |
|
| 123 |
-
def generate_red_document(document: str, compliance_report: str) -> str:
|
| 124 |
prompt = f"""
|
| 125 |
Based on the following document and compliance report:
|
| 126 |
|
|
@@ -130,15 +130,18 @@ def generate_red_document(document: str, compliance_report: str) -> str:
|
|
| 130 |
Compliance Report:
|
| 131 |
{compliance_report}
|
| 132 |
|
|
|
|
|
|
|
| 133 |
Generate a revised "Red Team" document that addresses all issues found in the compliance report.
|
| 134 |
Follow these guidelines:
|
| 135 |
-
1. Use Wikipedia style writing with active voice. Be firm with the approach, no soft words like could be, may be, should, might. Use
|
| 136 |
2. For each requirement, describe in detail how MicroHealth will innovate to address it.
|
| 137 |
3. Explain the industry best practices that will be applied and the workflow to accomplish the steps in the best practice to address the requirement.
|
| 138 |
4. Provide measurable outcomes for the customer.
|
| 139 |
5. Limit the use of bullet points and write predominantly in paragraph format.
|
| 140 |
6. Ensure a logical flow of steps taken by MicroHealth for each requirement.
|
| 141 |
7. Where applicable, describe the labor category or labor categories that perform the task as part of the process
|
|
|
|
| 142 |
"""
|
| 143 |
response = model.generate_content(prompt)
|
| 144 |
return response.text
|
|
@@ -253,6 +256,11 @@ app.layout = dbc.Container([
|
|
| 253 |
dcc.Download(id="download-p-review-doc")
|
| 254 |
]),
|
| 255 |
dbc.Tab(label="Red", tab_id="red", children=[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
dcc.Upload(
|
| 257 |
id='upload-red',
|
| 258 |
children=html.Div(['Drag and Drop or ', html.A('Select Files')]),
|
|
@@ -442,9 +450,10 @@ def update_loe_output(n_clicks, upload_contents, shred_output):
|
|
| 442 |
Input('generate-red', 'n_clicks'),
|
| 443 |
State('upload-red', 'contents'),
|
| 444 |
State('upload-red', 'filename'),
|
| 445 |
-
State('p-review-output', 'children')
|
|
|
|
| 446 |
)
|
| 447 |
-
def update_red_output(n_clicks, contents, filename, p_review_output):
|
| 448 |
if n_clicks is None:
|
| 449 |
return "Click 'Generate Red Team Document' to begin."
|
| 450 |
|
|
@@ -455,7 +464,7 @@ def update_red_output(n_clicks, contents, filename, p_review_output):
|
|
| 455 |
else:
|
| 456 |
return "Please upload a document or complete the P.Review first."
|
| 457 |
|
| 458 |
-
red_doc = generate_red_document(document, p_review_output)
|
| 459 |
return dcc.Markdown(red_doc)
|
| 460 |
|
| 461 |
@app.callback(
|
|
|
|
| 120 |
response = model.generate_content(prompt)
|
| 121 |
return response.text
|
| 122 |
|
| 123 |
+
def generate_red_document(document: str, compliance_report: str, instructions: str) -> str:
|
| 124 |
prompt = f"""
|
| 125 |
Based on the following document and compliance report:
|
| 126 |
|
|
|
|
| 130 |
Compliance Report:
|
| 131 |
{compliance_report}
|
| 132 |
|
| 133 |
+
Additional instructions: {instructions}
|
| 134 |
+
|
| 135 |
Generate a revised "Red Team" document that addresses all issues found in the compliance report.
|
| 136 |
Follow these guidelines:
|
| 137 |
+
1. Use Wikipedia style writing with active voice. Be firm with the approach, no soft words like could be, may be, should, might. Use definitive language.
|
| 138 |
2. For each requirement, describe in detail how MicroHealth will innovate to address it.
|
| 139 |
3. Explain the industry best practices that will be applied and the workflow to accomplish the steps in the best practice to address the requirement.
|
| 140 |
4. Provide measurable outcomes for the customer.
|
| 141 |
5. Limit the use of bullet points and write predominantly in paragraph format.
|
| 142 |
6. Ensure a logical flow of steps taken by MicroHealth for each requirement.
|
| 143 |
7. Where applicable, describe the labor category or labor categories that perform the task as part of the process
|
| 144 |
+
8. {instructions}
|
| 145 |
"""
|
| 146 |
response = model.generate_content(prompt)
|
| 147 |
return response.text
|
|
|
|
| 256 |
dcc.Download(id="download-p-review-doc")
|
| 257 |
]),
|
| 258 |
dbc.Tab(label="Red", tab_id="red", children=[
|
| 259 |
+
dbc.Textarea(
|
| 260 |
+
id='red-instructions',
|
| 261 |
+
placeholder="Enter any additional instructions for generating the Red Team document...",
|
| 262 |
+
style={'height': '100px', 'marginBottom': '10px'}
|
| 263 |
+
),
|
| 264 |
dcc.Upload(
|
| 265 |
id='upload-red',
|
| 266 |
children=html.Div(['Drag and Drop or ', html.A('Select Files')]),
|
|
|
|
| 450 |
Input('generate-red', 'n_clicks'),
|
| 451 |
State('upload-red', 'contents'),
|
| 452 |
State('upload-red', 'filename'),
|
| 453 |
+
State('p-review-output', 'children'),
|
| 454 |
+
State('red-instructions', 'value')
|
| 455 |
)
|
| 456 |
+
def update_red_output(n_clicks, contents, filename, p_review_output, instructions):
|
| 457 |
if n_clicks is None:
|
| 458 |
return "Click 'Generate Red Team Document' to begin."
|
| 459 |
|
|
|
|
| 464 |
else:
|
| 465 |
return "Please upload a document or complete the P.Review first."
|
| 466 |
|
| 467 |
+
red_doc = generate_red_document(document, p_review_output, instructions or "")
|
| 468 |
return dcc.Markdown(red_doc)
|
| 469 |
|
| 470 |
@app.callback(
|