joaomorossini commited on
Commit
0a08480
·
1 Parent(s): f11dfb5

fix log functionality

Browse files
Files changed (1) hide show
  1. app.py +27 -22
app.py CHANGED
@@ -17,13 +17,7 @@ API_KEY = os.getenv("API_KEY")
17
 
18
  df = pd.read_csv('subsectors.csv')
19
  logs_columns = ['Abstract', 'Model', 'Results']
20
-
21
-
22
- def update_logs(new_log_entry=None):
23
- logs_df = pd.read_csv('logs.csv')
24
- logs_df = pd.concat([logs_df, new_log_entry], ignore_index=True)
25
- logs_df.to_csv('logs.csv', columns=logs_columns)
26
- return logs_df
27
 
28
 
29
  def build_context(row):
@@ -86,18 +80,19 @@ def click_button(model, api_key, abstract):
86
  response_reasoning = language_model.get_last_message()
87
 
88
  dict_pattern = r'\{.*?\}'
89
- probabilities_match = re.search(dict_pattern, response_reasoning, re.DOTALL)
90
 
91
- if probabilities_match and language_model.error is False:
92
- probabilities_dict = eval(probabilities_match.group(0))
93
  else:
94
- probabilities_dict = {}
95
 
96
- # Save classification results to logs.csv
97
- new_log_entry = pd.DataFrame({'Abstract': [abstract], 'Model': [model], 'Results': [str(probabilities_dict)]})
98
- update_logs(new_log_entry=new_log_entry)
 
99
 
100
- return probabilities_dict, response_reasoning
101
 
102
  def on_select(evt: gr.SelectData): # SelectData is a subclass of EventData
103
  selected = df.iloc[[evt.index[0]]].iloc[0]
@@ -165,13 +160,23 @@ with gr.Blocks(css=css, js=js) as demo:
165
  does_include = gr.Textbox(label="Does include", lines=4)
166
  does_not_include = gr.Textbox(label="Does not include", lines=3)
167
  with gr.Tab("Logs"):
168
- def load_logs():
169
- logs = pd.read_csv('logs.csv')
170
- return logs
171
- gr.Dataframe(load_logs(), height=1000)
172
-
173
- btn_get_result.click(fn=click_button, inputs=[dropdown_model, api_key, abstract_description], outputs=[label_result, reasoning])
174
- df_subsectors.select(fn=on_select, outputs=[subsector_name, s1_definition, s1_keywords, does_include, does_not_include])
 
 
 
 
 
 
 
 
 
 
175
 
176
  if __name__ == "__main__":
177
  # demo.queue()
 
17
 
18
  df = pd.read_csv('subsectors.csv')
19
  logs_columns = ['Abstract', 'Model', 'Results']
20
+ logs_df = PandasDataFrame(columns=logs_columns)
 
 
 
 
 
 
21
 
22
 
23
  def build_context(row):
 
80
  response_reasoning = language_model.get_last_message()
81
 
82
  dict_pattern = r'\{.*?\}'
83
+ match = re.search(dict_pattern, response_reasoning, re.DOTALL)
84
 
85
+ if match and language_model.error is False:
86
+ match_score_dict = eval(match.group(0))
87
  else:
88
+ match_score_dict = {}
89
 
90
+ # Update Logs
91
+ new_log_entry = pd.DataFrame({'Abstract': [abstract], 'Model': [model], 'Results': [str(match_score_dict)]})
92
+ global logs_df
93
+ logs_df = pd.concat([logs_df, new_log_entry], ignore_index=True)
94
 
95
+ return match_score_dict, response_reasoning, logs_df
96
 
97
  def on_select(evt: gr.SelectData): # SelectData is a subclass of EventData
98
  selected = df.iloc[[evt.index[0]]].iloc[0]
 
160
  does_include = gr.Textbox(label="Does include", lines=4)
161
  does_not_include = gr.Textbox(label="Does not include", lines=3)
162
  with gr.Tab("Logs"):
163
+ output_dataframe = gr.Dataframe(
164
+ value=logs_df,
165
+ type="pandas",
166
+ height=500,
167
+ headers=logs_columns,
168
+ interactive=False,
169
+ column_widths=["45%", "10%", "45%"],
170
+ )
171
+
172
+ btn_get_result.click(
173
+ fn=click_button,
174
+ inputs=[dropdown_model, api_key, abstract_description],
175
+ outputs=[label_result, reasoning, output_dataframe])
176
+ df_subsectors.select(
177
+ fn=on_select,
178
+ outputs=[subsector_name, s1_definition, s1_keywords, does_include, does_not_include]
179
+ )
180
 
181
  if __name__ == "__main__":
182
  # demo.queue()