Spaces:
Running
Running
Commit
·
08a14c4
1
Parent(s):
e6041df
file upload gallery
Browse files- app.py +25 -5
- vouchervision/prompt_catalog.py +4 -4
app.py
CHANGED
|
@@ -772,6 +772,16 @@ def upload_local_prompt_to_server(dir_prompt):
|
|
| 772 |
else:
|
| 773 |
st.error("Please upload a .yaml file that you previously created using this Prompt Builder tool.")
|
| 774 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 775 |
def build_LLM_prompt_config():
|
| 776 |
st.session_state['assigned_columns'] = []
|
| 777 |
st.session_state['default_instructions'] = """1. Refactor the unstructured OCR text into a dictionary based on the JSON structure outlined below.
|
|
@@ -815,18 +825,28 @@ The desired null value is also given. Populate the field with the null value of
|
|
| 815 |
|
| 816 |
dir_prompt = os.path.join(st.session_state.dir_home, 'custom_prompts')
|
| 817 |
yaml_files = [f for f in os.listdir(dir_prompt) if f.endswith('.yaml')]
|
| 818 |
-
|
| 819 |
-
with
|
| 820 |
# Upload a prompt from your computer
|
| 821 |
upload_local_prompt_to_server(dir_prompt)
|
| 822 |
|
| 823 |
-
|
| 824 |
-
|
| 825 |
-
with col_load_btn:
|
| 826 |
st.write('##')
|
| 827 |
# Button to load the selected prompt
|
| 828 |
st.button('Load Prompt', on_click=btn_load_prompt, args=[selected_yaml_file, dir_prompt])
|
| 829 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 830 |
|
| 831 |
|
| 832 |
# Define the options for the dropdown
|
|
|
|
| 772 |
else:
|
| 773 |
st.error("Please upload a .yaml file that you previously created using this Prompt Builder tool.")
|
| 774 |
|
| 775 |
+
def create_download_button(file_path, selected_yaml_file):
|
| 776 |
+
file_label = f"Download {selected_yaml_file}"
|
| 777 |
+
with open(file_path, 'rb') as f:
|
| 778 |
+
st.download_button(
|
| 779 |
+
label=file_label,
|
| 780 |
+
data=f,
|
| 781 |
+
file_name=os.path.basename(file_path),
|
| 782 |
+
mime='application/x-yaml'
|
| 783 |
+
)
|
| 784 |
+
|
| 785 |
def build_LLM_prompt_config():
|
| 786 |
st.session_state['assigned_columns'] = []
|
| 787 |
st.session_state['default_instructions'] = """1. Refactor the unstructured OCR text into a dictionary based on the JSON structure outlined below.
|
|
|
|
| 825 |
|
| 826 |
dir_prompt = os.path.join(st.session_state.dir_home, 'custom_prompts')
|
| 827 |
yaml_files = [f for f in os.listdir(dir_prompt) if f.endswith('.yaml')]
|
| 828 |
+
col_upload_yaml, col_upload_btn = st.columns([8,2])
|
| 829 |
+
with col_upload_yaml:
|
| 830 |
# Upload a prompt from your computer
|
| 831 |
upload_local_prompt_to_server(dir_prompt)
|
| 832 |
|
| 833 |
+
|
| 834 |
+
with col_upload_btn:
|
|
|
|
| 835 |
st.write('##')
|
| 836 |
# Button to load the selected prompt
|
| 837 |
st.button('Load Prompt', on_click=btn_load_prompt, args=[selected_yaml_file, dir_prompt])
|
| 838 |
|
| 839 |
+
col_select_yaml, col_download_btn = st.columns([8,2])
|
| 840 |
+
with col_select_yaml:
|
| 841 |
+
# Dropdown for selecting a YAML file
|
| 842 |
+
selected_yaml_file = st.selectbox('Select a prompt .YAML file to load:', [''] + yaml_files)
|
| 843 |
+
|
| 844 |
+
with col_download_btn:
|
| 845 |
+
if selected_yaml_file:
|
| 846 |
+
# Construct the full path to the file
|
| 847 |
+
download_file_path = os.path.join(dir_prompt, selected_yaml_file)
|
| 848 |
+
# Create the download button
|
| 849 |
+
create_download_button(download_file_path, selected_yaml_file)
|
| 850 |
|
| 851 |
|
| 852 |
# Define the options for the dropdown
|
vouchervision/prompt_catalog.py
CHANGED
|
@@ -645,7 +645,7 @@ class PromptCatalog:
|
|
| 645 |
}
|
| 646 |
|
| 647 |
# Convert the structure to a JSON string without indentation
|
| 648 |
-
structure_json_str = json.dumps(dictionary_structure,
|
| 649 |
return structure_json_str
|
| 650 |
|
| 651 |
else:
|
|
@@ -665,7 +665,7 @@ class PromptCatalog:
|
|
| 665 |
}
|
| 666 |
|
| 667 |
# Convert the structure to a JSON string without indentation
|
| 668 |
-
structure_json_str = json.dumps(full_structure,
|
| 669 |
return structure_json_str
|
| 670 |
|
| 671 |
def create_structure(self, is_palm=False):
|
|
@@ -674,7 +674,7 @@ class PromptCatalog:
|
|
| 674 |
dictionary_structure = {key: "" for key in self.rules_list['Dictionary'].keys()}
|
| 675 |
|
| 676 |
# Convert the structure to a JSON string with indentation for readability
|
| 677 |
-
structure_json_str = json.dumps(dictionary_structure,
|
| 678 |
return structure_json_str
|
| 679 |
else:
|
| 680 |
# Start with an empty structure for the "Dictionary" section
|
|
@@ -690,7 +690,7 @@ class PromptCatalog:
|
|
| 690 |
}
|
| 691 |
|
| 692 |
# Convert the structure to a JSON string with indentation for readability
|
| 693 |
-
structure_json_str = json.dumps(full_structure,
|
| 694 |
return structure_json_str
|
| 695 |
|
| 696 |
def generate_xlsx_headers(self, is_palm):
|
|
|
|
| 645 |
}
|
| 646 |
|
| 647 |
# Convert the structure to a JSON string without indentation
|
| 648 |
+
structure_json_str = json.dumps(dictionary_structure, sort_keys=False)
|
| 649 |
return structure_json_str
|
| 650 |
|
| 651 |
else:
|
|
|
|
| 665 |
}
|
| 666 |
|
| 667 |
# Convert the structure to a JSON string without indentation
|
| 668 |
+
structure_json_str = json.dumps(full_structure, sort_keys=False)
|
| 669 |
return structure_json_str
|
| 670 |
|
| 671 |
def create_structure(self, is_palm=False):
|
|
|
|
| 674 |
dictionary_structure = {key: "" for key in self.rules_list['Dictionary'].keys()}
|
| 675 |
|
| 676 |
# Convert the structure to a JSON string with indentation for readability
|
| 677 |
+
structure_json_str = json.dumps(dictionary_structure, sort_keys=False)
|
| 678 |
return structure_json_str
|
| 679 |
else:
|
| 680 |
# Start with an empty structure for the "Dictionary" section
|
|
|
|
| 690 |
}
|
| 691 |
|
| 692 |
# Convert the structure to a JSON string with indentation for readability
|
| 693 |
+
structure_json_str = json.dumps(full_structure, sort_keys=False)
|
| 694 |
return structure_json_str
|
| 695 |
|
| 696 |
def generate_xlsx_headers(self, is_palm):
|