Spaces:
Running
Running
A button to add new examples into input.
Browse files
app/streamlit_sample_generator.py
CHANGED
@@ -91,12 +91,15 @@ def generate_examples_directly(description, raw_example, generating_batch_size,
|
|
91 |
def example_directly_selected():
|
92 |
if 'selected_example_directly_id' in st.session_state:
|
93 |
try:
|
94 |
-
|
95 |
-
'selection']['rows']
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
|
|
|
|
|
|
100 |
except Exception as e:
|
101 |
st.session_state.selected_example = None
|
102 |
|
@@ -104,12 +107,15 @@ def example_directly_selected():
|
|
104 |
def example_from_briefs_selected():
|
105 |
if 'selected_example_from_briefs_id' in st.session_state:
|
106 |
try:
|
107 |
-
|
108 |
-
'selection']['rows']
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
113 |
except Exception as e:
|
114 |
st.session_state.selected_example = None
|
115 |
|
@@ -117,11 +123,14 @@ def example_from_briefs_selected():
|
|
117 |
def example_selected():
|
118 |
if 'selected_example_id' in st.session_state:
|
119 |
try:
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
|
|
|
|
|
|
125 |
except Exception as e:
|
126 |
st.session_state.selected_example = None
|
127 |
|
@@ -225,6 +234,7 @@ def import_input_data_from_json():
|
|
225 |
if 'input_file' in st.session_state and st.session_state.input_file is not None:
|
226 |
data = st.session_state.input_file.getvalue()
|
227 |
data = json.loads(data)
|
|
|
228 |
st.session_state.input_data = pd.DataFrame(data)
|
229 |
except Exception as e:
|
230 |
st.error(f"Failed to import JSON: {str(e)}")
|
@@ -287,7 +297,7 @@ with st.expander("Description and Analysis"):
|
|
287 |
"Analyze Input", on_click=update_input_analysis_output_text)
|
288 |
|
289 |
examples_directly_output = st.dataframe(st.session_state.examples_directly_dataframe, use_container_width=True,
|
290 |
-
selection_mode="
|
291 |
on_select=example_directly_selected)
|
292 |
input_analysis_output = st.text_area(
|
293 |
"Input Analysis", value=st.session_state.input_analysis_output_text, height=100)
|
@@ -298,16 +308,22 @@ with st.expander("Description and Analysis"):
|
|
298 |
generate_examples_from_briefs_button = st.button(
|
299 |
"Generate Examples from Briefs", on_click=update_examples_from_briefs_dataframe)
|
300 |
examples_from_briefs_output = st.dataframe(st.session_state.examples_from_briefs_dataframe, use_container_width=True,
|
301 |
-
selection_mode="
|
302 |
on_select=example_from_briefs_selected)
|
303 |
|
304 |
examples_output = st.dataframe(st.session_state.examples_dataframe, use_container_width=True,
|
305 |
-
selection_mode="
|
|
|
|
|
|
|
|
|
|
|
|
|
306 |
|
307 |
def show_sidebar():
|
308 |
if st.session_state.selected_example is not None:
|
309 |
with st.sidebar:
|
310 |
-
|
311 |
-
|
312 |
|
313 |
show_sidebar()
|
|
|
91 |
def example_directly_selected():
|
92 |
if 'selected_example_directly_id' in st.session_state:
|
93 |
try:
|
94 |
+
selected_example_ids = st.session_state.selected_example_directly_id[
|
95 |
+
'selection']['rows']
|
96 |
+
# set selected examples to the selected rows if there are any
|
97 |
+
if selected_example_ids:
|
98 |
+
selected_examples = st.session_state.examples_directly_dataframe.iloc[selected_example_ids].to_dict(
|
99 |
+
'records')
|
100 |
+
st.session_state.selected_example = pd.DataFrame(selected_examples) # Convert to DataFrame
|
101 |
+
else:
|
102 |
+
st.session_state.selected_example = None
|
103 |
except Exception as e:
|
104 |
st.session_state.selected_example = None
|
105 |
|
|
|
107 |
def example_from_briefs_selected():
|
108 |
if 'selected_example_from_briefs_id' in st.session_state:
|
109 |
try:
|
110 |
+
selected_example_ids = st.session_state.selected_example_from_briefs_id[
|
111 |
+
'selection']['rows']
|
112 |
+
# set selected examples to the selected rows if there are any
|
113 |
+
if selected_example_ids:
|
114 |
+
selected_examples = st.session_state.examples_from_briefs_dataframe.iloc[selected_example_ids].to_dict(
|
115 |
+
'records')
|
116 |
+
st.session_state.selected_example = pd.DataFrame(selected_examples) # Convert to DataFrame
|
117 |
+
else:
|
118 |
+
st.session_state.selected_example = None
|
119 |
except Exception as e:
|
120 |
st.session_state.selected_example = None
|
121 |
|
|
|
123 |
def example_selected():
|
124 |
if 'selected_example_id' in st.session_state:
|
125 |
try:
|
126 |
+
selected_example_ids = st.session_state.selected_example_id['selection']['rows']
|
127 |
+
# set selected examples to the selected rows if there are any
|
128 |
+
if selected_example_ids:
|
129 |
+
selected_examples = st.session_state.examples_dataframe.iloc[selected_example_ids].to_dict(
|
130 |
+
'records')
|
131 |
+
st.session_state.selected_example = pd.DataFrame(selected_examples) # Convert to DataFrame
|
132 |
+
else:
|
133 |
+
st.session_state.selected_example = None
|
134 |
except Exception as e:
|
135 |
st.session_state.selected_example = None
|
136 |
|
|
|
234 |
if 'input_file' in st.session_state and st.session_state.input_file is not None:
|
235 |
data = st.session_state.input_file.getvalue()
|
236 |
data = json.loads(data)
|
237 |
+
data = [{k.capitalize(): v for k, v in d.items()} for d in data]
|
238 |
st.session_state.input_data = pd.DataFrame(data)
|
239 |
except Exception as e:
|
240 |
st.error(f"Failed to import JSON: {str(e)}")
|
|
|
297 |
"Analyze Input", on_click=update_input_analysis_output_text)
|
298 |
|
299 |
examples_directly_output = st.dataframe(st.session_state.examples_directly_dataframe, use_container_width=True,
|
300 |
+
selection_mode="multi-row", key="selected_example_directly_id",
|
301 |
on_select=example_directly_selected)
|
302 |
input_analysis_output = st.text_area(
|
303 |
"Input Analysis", value=st.session_state.input_analysis_output_text, height=100)
|
|
|
308 |
generate_examples_from_briefs_button = st.button(
|
309 |
"Generate Examples from Briefs", on_click=update_examples_from_briefs_dataframe)
|
310 |
examples_from_briefs_output = st.dataframe(st.session_state.examples_from_briefs_dataframe, use_container_width=True,
|
311 |
+
selection_mode="multi-row", key="selected_example_from_briefs_id",
|
312 |
on_select=example_from_briefs_selected)
|
313 |
|
314 |
examples_output = st.dataframe(st.session_state.examples_dataframe, use_container_width=True,
|
315 |
+
selection_mode="multi-row", key="selected_example_id", on_select=example_selected)
|
316 |
+
|
317 |
+
def append_selected_to_input_data():
|
318 |
+
if st.session_state.selected_example is not None:
|
319 |
+
st.session_state.input_data = pd.concat(
|
320 |
+
[st.session_state.input_data, st.session_state.selected_example], ignore_index=True)
|
321 |
+
st.session_state.selected_example = None
|
322 |
|
323 |
def show_sidebar():
|
324 |
if st.session_state.selected_example is not None:
|
325 |
with st.sidebar:
|
326 |
+
st.dataframe(st.session_state.selected_example) # Display DataFrame in sidebar
|
327 |
+
st.button("Append to Input Data", on_click=append_selected_to_input_data)
|
328 |
|
329 |
show_sidebar()
|