HemanM commited on
Commit
4f2bf95
·
verified ·
1 Parent(s): b0e670a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -12
app.py CHANGED
@@ -1,9 +1,10 @@
1
  import gradio as gr
2
- from inference import evo_chat_predict, get_model_config, get_gpt_response
3
  import pandas as pd
4
  import csv
5
  import os
6
  from datetime import datetime
 
7
 
8
  feedback_log = []
9
 
@@ -52,27 +53,24 @@ with gr.Blocks(theme=gr.themes.Base(), css="body { background-color: #0f0f0f; co
52
 
53
  # Log feedback
54
  if selected in ["Evo", "GPT"]:
55
- feedback_log.append(new_row)
56
 
57
  return evo_text, gpt_text, stats_text, updated_df
58
 
59
- # 🔁 Retrain Evo using retrain.py
60
  def retrain_evo():
61
  if not feedback_log:
62
  return "⚠️ No feedback data to retrain from."
63
 
64
- # Save log to feedback_log.csv in required format
65
  with open("feedback_log.csv", "w", newline="") as f:
66
  writer = csv.writer(f)
67
- writer.writerow(["prompt", "context", "label"])
68
  for row in feedback_log:
69
- prompt = row[0]
70
- context = row[6] # context_used
71
- label = 0 if row[3] == row[1] else 1 # 0 if answer == option1 else 1
72
- writer.writerow([prompt, context, label])
73
 
74
- os.system("python retrain.py")
75
- return "✅ Evo retrained from feedback_log.csv."
 
76
 
77
  # 🧹 Clear UI
78
  def clear_fields():
@@ -86,7 +84,7 @@ with gr.Blocks(theme=gr.themes.Base(), css="body { background-color: #0f0f0f; co
86
  filepath = f"feedback_{timestamp}.csv"
87
  with open(filepath, "w", newline="") as f:
88
  writer = csv.writer(f)
89
- writer.writerow(["Question", "Option 1", "Option 2", "Answer", "Confidence", "Reasoning", "Context"])
90
  writer.writerows(feedback_log)
91
  return f"✅ Feedback exported to {filepath}"
92
  else:
 
1
  import gradio as gr
2
+ from inference import evo_chat_predict, get_model_config, get_gpt_response, load_model
3
  import pandas as pd
4
  import csv
5
  import os
6
  from datetime import datetime
7
+ from retrain_from_feedback import train_evo
8
 
9
  feedback_log = []
10
 
 
53
 
54
  # Log feedback
55
  if selected in ["Evo", "GPT"]:
56
+ feedback_log.append(new_row + [selected, "yes" if selected == "Evo" else "no"])
57
 
58
  return evo_text, gpt_text, stats_text, updated_df
59
 
60
+ # 🔁 Retrain Evo
61
  def retrain_evo():
62
  if not feedback_log:
63
  return "⚠️ No feedback data to retrain from."
64
 
 
65
  with open("feedback_log.csv", "w", newline="") as f:
66
  writer = csv.writer(f)
67
+ writer.writerow(["question", "option1", "option2", "answer", "confidence", "reasoning", "context", "user_preference", "evo_was_correct"])
68
  for row in feedback_log:
69
+ writer.writerow(row)
 
 
 
70
 
71
+ train_evo()
72
+ load_model()
73
+ return f"✅ Evo retrained on {len(feedback_log)} entries and reloaded."
74
 
75
  # 🧹 Clear UI
76
  def clear_fields():
 
84
  filepath = f"feedback_{timestamp}.csv"
85
  with open(filepath, "w", newline="") as f:
86
  writer = csv.writer(f)
87
+ writer.writerow(["Question", "Option 1", "Option 2", "Answer", "Confidence", "Reasoning", "Context", "User Pref", "Evo Correct"])
88
  writer.writerows(feedback_log)
89
  return f"✅ Feedback exported to {filepath}"
90
  else: