Spaces:
Running
Running
Update model/auto_learn.py
Browse files- model/auto_learn.py +27 -0
model/auto_learn.py
CHANGED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
from model.train import fine_tune_gpt2
|
3 |
+
from model.utils import load_feedback_data
|
4 |
+
|
5 |
+
def trigger_auto_learning(threshold=10):
|
6 |
+
feedback_files = os.listdir("data/feedback")
|
7 |
+
if len(feedback_files) >= threshold:
|
8 |
+
print("Iniciando autoaprendizado...")
|
9 |
+
feedback_data = load_feedback_data()
|
10 |
+
|
11 |
+
# Salvar dados processados para fine-tuning
|
12 |
+
with open("data/processed/train.txt", "w") as f:
|
13 |
+
for item in feedback_data:
|
14 |
+
f.write(item["prompt"] + " " + item["generated_text"] + "\n")
|
15 |
+
|
16 |
+
# Fine-tuning com novos dados
|
17 |
+
fine_tune_gpt2("data/processed/train.txt")
|
18 |
+
|
19 |
+
# Limpar feedback ap贸s treinamento
|
20 |
+
for file in feedback_files:
|
21 |
+
os.remove(os.path.join("data/feedback", file))
|
22 |
+
print("Autoaprendizado conclu铆do!")
|
23 |
+
else:
|
24 |
+
print(f"Feedback insuficiente ({len(feedback_files)}/{threshold}).")
|
25 |
+
|
26 |
+
if __name__ == "__main__":
|
27 |
+
trigger_auto_learning()
|