chrissoria commited on
Commit
8568772
·
1 Parent(s): 5ca7833

Add success rate to PDF codebook summary

Browse files
Files changed (1) hide show
  1. app.py +10 -2
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