Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -5,8 +5,9 @@ import retrain
|
|
5 |
import pandas as pd
|
6 |
import os
|
7 |
|
|
|
8 |
def advisor_interface(query, context, feedback_choice):
|
9 |
-
evo_output, evo_reasoning = get_evo_response(query, context)
|
10 |
gpt_output = get_gpt_response(query, context)
|
11 |
|
12 |
if feedback_choice != "No feedback":
|
@@ -15,39 +16,44 @@ def advisor_interface(query, context, feedback_choice):
|
|
15 |
|
16 |
return evo_reasoning, gpt_output, load_history()
|
17 |
|
|
|
18 |
def retrain_evo():
|
19 |
retrain.fine_tune_on_feedback()
|
20 |
return "β
Evo retrained on feedback.", load_history()
|
21 |
|
|
|
22 |
def load_history():
|
23 |
if os.path.exists("feedback_log.csv"):
|
24 |
df = pd.read_csv("feedback_log.csv")
|
25 |
return df.tail(10).to_markdown(index=False)
|
26 |
return "No history available yet."
|
27 |
|
|
|
28 |
with gr.Blocks() as demo:
|
29 |
-
gr.Markdown("## π§ EvoRAG β Retrieval-Augmented Adaptive AI")
|
30 |
|
31 |
-
with gr.
|
32 |
-
|
33 |
-
|
|
|
|
|
34 |
|
35 |
with gr.Row():
|
36 |
-
feedback = gr.Radio(["π Helpful", "π Not Helpful", "No feedback"], label="Was Evoβs answer useful?", value="No feedback")
|
37 |
|
38 |
with gr.Row():
|
39 |
-
evo_out = gr.Textbox(label="π¬ EvoRAG Suggestion (with reasoning)")
|
40 |
-
gpt_out = gr.Textbox(label="π€ GPT-3.5 Suggestion")
|
41 |
|
42 |
-
run_button = gr.Button("Run Advisors")
|
43 |
-
run_button.click(fn=advisor_interface, inputs=[query, context, feedback], outputs=[evo_out, gpt_out, gr.Textbox(label="π Recent
|
44 |
|
45 |
gr.Markdown("---")
|
46 |
-
gr.Markdown("### π Retrain Evo from Feedback")
|
47 |
-
retrain_button = gr.Button("π Retrain Evo")
|
48 |
-
retrain_output = gr.Textbox(label="π οΈ Retrain Status")
|
49 |
-
history_output = gr.Textbox(label="π Recent History")
|
50 |
|
51 |
-
|
|
|
|
|
|
|
|
|
52 |
|
53 |
demo.launch()
|
|
|
5 |
import pandas as pd
|
6 |
import os
|
7 |
|
8 |
+
# π Advisor core logic
|
9 |
def advisor_interface(query, context, feedback_choice):
|
10 |
+
evo_output, evo_reasoning = get_evo_response(query, context, enable_search=True)
|
11 |
gpt_output = get_gpt_response(query, context)
|
12 |
|
13 |
if feedback_choice != "No feedback":
|
|
|
16 |
|
17 |
return evo_reasoning, gpt_output, load_history()
|
18 |
|
19 |
+
# π Retrain logic
|
20 |
def retrain_evo():
|
21 |
retrain.fine_tune_on_feedback()
|
22 |
return "β
Evo retrained on feedback.", load_history()
|
23 |
|
24 |
+
# π Feedback log viewer
|
25 |
def load_history():
|
26 |
if os.path.exists("feedback_log.csv"):
|
27 |
df = pd.read_csv("feedback_log.csv")
|
28 |
return df.tail(10).to_markdown(index=False)
|
29 |
return "No history available yet."
|
30 |
|
31 |
+
# π§ UI
|
32 |
with gr.Blocks() as demo:
|
33 |
+
gr.Markdown("## π§ EvoRAG β Retrieval-Augmented Adaptive AI for Finance")
|
34 |
|
35 |
+
with gr.Accordion("π Ask a Financial Question", open=True):
|
36 |
+
with gr.Row():
|
37 |
+
query = gr.Textbox(label="π Question", placeholder="e.g. Should we reduce exposure to Fund A?")
|
38 |
+
with gr.Row():
|
39 |
+
context = gr.Textbox(label="π Memo, Policy, or News Context", placeholder="e.g. Tech Fund A underperformed by 3.2%...")
|
40 |
|
41 |
with gr.Row():
|
42 |
+
feedback = gr.Radio(["π Helpful", "π Not Helpful", "No feedback"], label="π Was Evoβs answer useful?", value="No feedback")
|
43 |
|
44 |
with gr.Row():
|
45 |
+
evo_out = gr.Textbox(label="π¬ EvoRAG Suggestion (with reasoning)", lines=4)
|
46 |
+
gpt_out = gr.Textbox(label="π€ GPT-3.5 Suggestion", lines=4)
|
47 |
|
48 |
+
run_button = gr.Button("π Run Advisors")
|
49 |
+
run_button.click(fn=advisor_interface, inputs=[query, context, feedback], outputs=[evo_out, gpt_out, gr.Textbox(label="π Recent Feedback Log")])
|
50 |
|
51 |
gr.Markdown("---")
|
|
|
|
|
|
|
|
|
52 |
|
53 |
+
with gr.Accordion("π Evo Live Retraining", open=False):
|
54 |
+
retrain_button = gr.Button("π Retrain Evo Now from Feedback")
|
55 |
+
retrain_output = gr.Textbox(label="π οΈ Retrain Status", interactive=False)
|
56 |
+
history_output = gr.Textbox(label="π Recent Feedback Log", interactive=False)
|
57 |
+
retrain_button.click(fn=retrain_evo, inputs=[], outputs=[retrain_output, history_output])
|
58 |
|
59 |
demo.launch()
|