Commit
·
0a08480
1
Parent(s):
f11dfb5
fix log functionality
Browse files
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 |
-
|
90 |
|
91 |
-
if
|
92 |
-
|
93 |
else:
|
94 |
-
|
95 |
|
96 |
-
#
|
97 |
-
new_log_entry = pd.DataFrame({'Abstract': [abstract], 'Model': [model], 'Results': [str(
|
98 |
-
|
|
|
99 |
|
100 |
-
return
|
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 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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()
|