EvoPlatformV3 / logger.py
HemanM's picture
Update logger.py
e96f206 verified
import csv
import os
from datetime import datetime
LOG_FILE = "feedback_log.csv"
def log_feedback(
question,
option1,
option2,
context,
evo_output,
gpt_output,
evo_reasoning,
user_preference=None
):
"""
Logs Evo and GPT output along with user's preference for retraining.
Creates feedback_log.csv automatically if it doesn't exist.
"""
print("✅ log_feedback() triggered")
print("User voted:", user_preference)
file_exists = os.path.isfile(LOG_FILE)
try:
with open(LOG_FILE, mode='a', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
if not file_exists:
writer.writerow([
"timestamp",
"question",
"option1",
"option2",
"context",
"evo_output",
"gpt_output",
"evo_reasoning",
"user_preference",
"evo_was_correct"
])
evo_was_correct = "yes" if user_preference == "Evo" else (
"no" if user_preference == "GPT" else ""
)
writer.writerow([
datetime.now().isoformat(),
question,
option1,
option2,
context,
evo_output,
gpt_output,
evo_reasoning,
user_preference or "",
evo_was_correct
])
print("✅ Feedback successfully logged.")
except Exception as e:
print("❌ Failed to log feedback:", e)
# ✅ Manual test trigger
if __name__ == "__main__":
log_feedback(
"What is 2 + 2?",
"4",
"5",
"Basic math context",
"4",
"4",
"Both answered correctly.",
"Evo"
)