Spaces:
Running
Running
Commit
·
8568772
1
Parent(s):
5ca7833
Add success rate to PDF codebook summary
Browse files
app.py
CHANGED
|
@@ -58,7 +58,7 @@ def is_free_model(model, model_tier):
|
|
| 58 |
return model_tier == "Free Models"
|
| 59 |
|
| 60 |
|
| 61 |
-
def generate_codebook_pdf(categories, model, column_name, num_rows, model_source, filename):
|
| 62 |
"""Generate a PDF codebook explaining the output columns."""
|
| 63 |
from reportlab.lib.pagesizes import letter
|
| 64 |
from reportlab.lib import colors
|
|
@@ -89,6 +89,7 @@ def generate_codebook_pdf(categories, model, column_name, num_rows, model_source
|
|
| 89 |
["Model Used", model],
|
| 90 |
["Rows Classified", str(num_rows)],
|
| 91 |
["Number of Categories", str(len(categories))],
|
|
|
|
| 92 |
]
|
| 93 |
summary_table = Table(summary_data, colWidths=[150, 300])
|
| 94 |
summary_table.setStyle(TableStyle([
|
|
@@ -326,8 +327,15 @@ def classify_data(spreadsheet_file, spreadsheet_column,
|
|
| 326 |
# Get original filename for codebook
|
| 327 |
original_filename = file_path.split("/")[-1]
|
| 328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 329 |
# Generate PDF codebook
|
| 330 |
-
pdf_path = generate_codebook_pdf(categories, actual_model, spreadsheet_column, len(input_data), model_source, original_filename)
|
| 331 |
|
| 332 |
return result, [csv_path, pdf_path], f"**Success!** Classified {len(input_data)} responses"
|
| 333 |
|
|
|
|
| 58 |
return model_tier == "Free Models"
|
| 59 |
|
| 60 |
|
| 61 |
+
def generate_codebook_pdf(categories, model, column_name, num_rows, model_source, filename, success_rate):
|
| 62 |
"""Generate a PDF codebook explaining the output columns."""
|
| 63 |
from reportlab.lib.pagesizes import letter
|
| 64 |
from reportlab.lib import colors
|
|
|
|
| 89 |
["Model Used", model],
|
| 90 |
["Rows Classified", str(num_rows)],
|
| 91 |
["Number of Categories", str(len(categories))],
|
| 92 |
+
["Success Rate", f"{success_rate:.2f}%"],
|
| 93 |
]
|
| 94 |
summary_table = Table(summary_data, colWidths=[150, 300])
|
| 95 |
summary_table.setStyle(TableStyle([
|
|
|
|
| 327 |
# Get original filename for codebook
|
| 328 |
original_filename = file_path.split("/")[-1]
|
| 329 |
|
| 330 |
+
# Calculate success rate
|
| 331 |
+
if 'processing_status' in result.columns:
|
| 332 |
+
success_count = (result['processing_status'] == 'success').sum()
|
| 333 |
+
success_rate = (success_count / len(result)) * 100
|
| 334 |
+
else:
|
| 335 |
+
success_rate = 100.0
|
| 336 |
+
|
| 337 |
# Generate PDF codebook
|
| 338 |
+
pdf_path = generate_codebook_pdf(categories, actual_model, spreadsheet_column, len(input_data), model_source, original_filename, success_rate)
|
| 339 |
|
| 340 |
return result, [csv_path, pdf_path], f"**Success!** Classified {len(input_data)} responses"
|
| 341 |
|