Spaces:
Running
Running
import torch | |
import pandas as pd | |
from evo_model import EvoTransformer, train_evo_transformer | |
from datasets import load_dataset | |
import os | |
def manual_retrain(): | |
try: | |
# Load feedback data from Firestore | |
from google.cloud import firestore | |
db = firestore.Client.from_service_account_json("firebase_key.json") | |
docs = db.collection("evo_feedback_logs").stream() | |
data = [doc.to_dict() for doc in docs if "goal" in doc.to_dict()] | |
if not data: | |
print("No feedback data available.") | |
return False | |
# Convert to training format | |
rows = [] | |
for d in data: | |
question = d["goal"] | |
option1 = d["sol1"] | |
option2 = d["sol2"] | |
correct = d["correct"] | |
label = 0 if correct == "Solution 1" else 1 | |
rows.append((question, option1, option2, label)) | |
df = pd.DataFrame(rows, columns=["goal", "sol1", "sol2", "label"]) | |
# Train the Evo model (minimal epochs to simulate update) | |
train_evo_transformer(df, epochs=1) | |
return True | |
except Exception as e: | |
print(f"[Retrain Error] {e}") | |
return False | |