yaleh commited on
Commit
dc824aa
·
1 Parent(s): 0e98df7

Added input example import/export.

Browse files
Files changed (1) hide show
  1. app/streamlit_sample_generator.py +34 -0
app/streamlit_sample_generator.py CHANGED
@@ -154,6 +154,9 @@ if 'examples_dataframe' not in st.session_state:
154
  if 'selected_example' not in st.session_state:
155
  st.session_state.selected_example = None
156
 
 
 
 
157
 
158
  def update_description_output_text():
159
  input_json = package_input_data()
@@ -208,6 +211,24 @@ def package_input_data():
208
  lowered_data = [{k.lower(): v for k, v in d.items()} for d in data]
209
  return json.dumps(lowered_data, ensure_ascii=False)
210
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
 
212
  # Streamlit UI
213
  st.title("LLM Task Example Generator")
@@ -225,6 +246,19 @@ input_data = st.data_editor(
225
  )
226
 
227
  with st.expander("Model Settings"):
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  model_name = st.selectbox(
229
  "Model Name",
230
  ["llama3-70b-8192", "llama3-8b-8192", "llama-3.1-70b-versatile",
 
154
  if 'selected_example' not in st.session_state:
155
  st.session_state.selected_example = None
156
 
157
+ # if 'input_file' not in st.session_state:
158
+ # st.session_state.input_file = None
159
+
160
 
161
  def update_description_output_text():
162
  input_json = package_input_data()
 
211
  lowered_data = [{k.lower(): v for k, v in d.items()} for d in data]
212
  return json.dumps(lowered_data, ensure_ascii=False)
213
 
214
+ def export_input_data_to_json():
215
+ input_data_json = package_input_data()
216
+ st.download_button(
217
+ label="Download input data as JSON",
218
+ data=input_data_json,
219
+ file_name="input_data.json",
220
+ mime="application/json"
221
+ )
222
+
223
+ def import_input_data_from_json():
224
+ try:
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)}")
231
+
232
 
233
  # Streamlit UI
234
  st.title("LLM Task Example Generator")
 
246
  )
247
 
248
  with st.expander("Model Settings"):
249
+ col1, col2 = st.columns(2)
250
+ with col1:
251
+ input_file = st.file_uploader(
252
+ label="Import Input Data from JSON",
253
+ type="json",
254
+ key="input_file",
255
+ on_change=import_input_data_from_json
256
+ )
257
+ with col2:
258
+ export_button = st.button( # Add the export button
259
+ "Export Input Data to JSON", on_click=export_input_data_to_json
260
+ )
261
+
262
  model_name = st.selectbox(
263
  "Model Name",
264
  ["llama3-70b-8192", "llama3-8b-8192", "llama-3.1-70b-versatile",