Spaces:
Running
Running
phyloforfun
commited on
Commit
•
2e76bd4
1
Parent(s):
82babfb
file upload gallery
Browse files
app.py
CHANGED
@@ -20,7 +20,7 @@ from vouchervision.vouchervision_main import voucher_vision, voucher_vision_OCR_
|
|
20 |
from vouchervision.general_utils import test_GPU, get_cfg_from_full_path, summarize_expense_report, create_google_ocr_yaml_config, validate_dir
|
21 |
|
22 |
PROMPTS_THAT_NEED_DOMAIN_KNOWLEDGE = ["Version 1","Version 1 PaLM 2"]
|
23 |
-
LLM_VERSIONS = ["GPT 4", "GPT 3.5", "Azure GPT 4", "Azure GPT 3.5", "PaLM 2"]
|
24 |
COLORS_EXPENSE_REPORT = {
|
25 |
'GPT_4': '#8fff66', # Bright Green
|
26 |
'GPT_3_5': '#006400', # Dark Green
|
@@ -609,23 +609,30 @@ def image_to_base64(img):
|
|
609 |
# st.markdown(css, unsafe_allow_html=True)
|
610 |
|
611 |
def show_available_APIs():
|
612 |
-
has_key_openai =
|
613 |
-
has_key_google_OCR =
|
614 |
-
has_key_palm2 =
|
615 |
-
has_key_azure =
|
616 |
|
617 |
emoji_good = ":heavy_check_mark:"
|
618 |
emoji_bad = ":x:"
|
619 |
|
620 |
table = {
|
621 |
-
'
|
622 |
-
'
|
623 |
-
'Palm API': emoji_good if has_key_palm2 else emoji_bad,
|
624 |
-
'Azure API': emoji_good if has_key_azure else emoji_bad,
|
625 |
}
|
626 |
for api_name, status in table.items():
|
627 |
st.markdown(f"* {status} {api_name}")
|
628 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
629 |
def display_image_gallery():
|
630 |
# Initialize the container
|
631 |
con_image = st.empty()
|
@@ -1346,13 +1353,34 @@ def content_tab_settings():
|
|
1346 |
|
1347 |
### LLM Version
|
1348 |
with col_project_2:
|
1349 |
-
|
1350 |
-
# st.session_state.config['leafmachine']['project']['
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1351 |
st.subheader('LLM Version')
|
1352 |
-
|
1353 |
-
|
1354 |
-
|
1355 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1356 |
|
1357 |
### Prompt Version
|
1358 |
with col_project_3:
|
@@ -1709,6 +1737,18 @@ if 'show_prompt_name_w' not in st.session_state:
|
|
1709 |
st.session_state['show_prompt_name_w'] = None
|
1710 |
if 'user_clicked_load_prompt_yaml' not in st.session_state:
|
1711 |
st.session_state['user_clicked_load_prompt_yaml'] = None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1712 |
|
1713 |
|
1714 |
# if not st.session_state.private_file:
|
|
|
20 |
from vouchervision.general_utils import test_GPU, get_cfg_from_full_path, summarize_expense_report, create_google_ocr_yaml_config, validate_dir
|
21 |
|
22 |
PROMPTS_THAT_NEED_DOMAIN_KNOWLEDGE = ["Version 1","Version 1 PaLM 2"]
|
23 |
+
# LLM_VERSIONS = ["GPT 4", "GPT 3.5", "Azure GPT 4", "Azure GPT 3.5", "PaLM 2"]
|
24 |
COLORS_EXPENSE_REPORT = {
|
25 |
'GPT_4': '#8fff66', # Bright Green
|
26 |
'GPT_3_5': '#006400', # Dark Green
|
|
|
609 |
# st.markdown(css, unsafe_allow_html=True)
|
610 |
|
611 |
def show_available_APIs():
|
612 |
+
st.session_state['has_key_openai'] = os.getenv('OPENAI_API_KEY') is not None
|
613 |
+
st.session_state['has_key_google_OCR'] = os.getenv('GOOGLE_APPLICATION_CREDENTIALS') is not None
|
614 |
+
st.session_state['has_key_palm2'] = os.getenv('PALM_API_KEY') is not None
|
615 |
+
st.session_state['has_key_azure'] = os.getenv('AZURE_API_KEY') is not None
|
616 |
|
617 |
emoji_good = ":heavy_check_mark:"
|
618 |
emoji_bad = ":x:"
|
619 |
|
620 |
table = {
|
621 |
+
'Google OCR API': emoji_good if st.session_state['has_key_google_OCR'] else emoji_bad,
|
622 |
+
'OpenAI API': emoji_good if st.session_state['has_key_openai'] else emoji_bad,
|
623 |
+
'Palm API': emoji_good if st.session_state['has_key_palm2'] else emoji_bad,
|
624 |
+
'Azure API': emoji_good if st.session_state['has_key_azure'] else emoji_bad,
|
625 |
}
|
626 |
for api_name, status in table.items():
|
627 |
st.markdown(f"* {status} {api_name}")
|
628 |
|
629 |
+
# Define the available versions based on the API keys
|
630 |
+
st.session_state['LLM_VERSIONS'] = {
|
631 |
+
'OpenAI API': ["GPT 4", "GPT 3.5"],
|
632 |
+
'Azure API': ["Azure GPT 4", "Azure GPT 3.5"],
|
633 |
+
'Palm API': ["PaLM 2"]
|
634 |
+
}
|
635 |
+
|
636 |
def display_image_gallery():
|
637 |
# Initialize the container
|
638 |
con_image = st.empty()
|
|
|
1353 |
|
1354 |
### LLM Version
|
1355 |
with col_project_2:
|
1356 |
+
# LLM_VERSIONS_available =
|
1357 |
+
# st.session_state.config['leafmachine']['project']['dir_images_local'] = st.session_state['dir_uploaded_images'] #st.text_input("Input images directory", st.session_state.config['leafmachine']['project'].get('dir_images_local', ''))
|
1358 |
+
# # st.session_state.config['leafmachine']['project']['continue_run_from_partial_xlsx'] = st.text_input("Continue run from partially completed project XLSX", st.session_state.config['leafmachine']['project'].get('continue_run_from_partial_xlsx', ''), disabled=True)
|
1359 |
+
# st.subheader('LLM Version')
|
1360 |
+
# st.session_state.config['leafmachine']['LLM_version'] = st.selectbox("LLM version", LLM_VERSIONS,
|
1361 |
+
# index=LLM_VERSIONS.index(st.session_state.config['leafmachine'].get('LLM_version', 'Azure GPT 4')),
|
1362 |
+
# label_visibility='collapsed')
|
1363 |
+
# st.markdown("""***Note:*** GPT-4 is significantly more expensive than GPT-3.5 """)
|
1364 |
+
# Now filter the LLM_VERSIONS based on the available API keys
|
1365 |
+
available_versions = []
|
1366 |
+
for api_name, versions in st.session_state['LLM_VERSIONS'].items():
|
1367 |
+
if st.session_state.get(f'has_key_{api_name.lower().replace(" ", "_")}', False):
|
1368 |
+
available_versions.extend(versions)
|
1369 |
+
|
1370 |
+
# Show available LLM versions in a select box
|
1371 |
st.subheader('LLM Version')
|
1372 |
+
if available_versions:
|
1373 |
+
# Get current selection from session_state, defaulting to the first available version
|
1374 |
+
current_selection = st.session_state.config['leafmachine'].get('LLM_version', available_versions[0])
|
1375 |
+
# Update the selection with a selectbox
|
1376 |
+
st.session_state.config['leafmachine']['LLM_version'] = st.selectbox(
|
1377 |
+
"LLM version", available_versions,
|
1378 |
+
index=available_versions.index(current_selection),
|
1379 |
+
label_visibility='collapsed'
|
1380 |
+
)
|
1381 |
+
st.markdown("""***Note:*** GPT-4 is significantly more expensive than GPT-3.5""")
|
1382 |
+
else:
|
1383 |
+
st.error("No LLM versions are available due to missing API keys.")
|
1384 |
|
1385 |
### Prompt Version
|
1386 |
with col_project_3:
|
|
|
1737 |
st.session_state['show_prompt_name_w'] = None
|
1738 |
if 'user_clicked_load_prompt_yaml' not in st.session_state:
|
1739 |
st.session_state['user_clicked_load_prompt_yaml'] = None
|
1740 |
+
|
1741 |
+
if 'has_key_openai' not in st.session_state:
|
1742 |
+
st.session_state['has_key_openai'] = False
|
1743 |
+
if 'has_key_google_OCR' not in st.session_state:
|
1744 |
+
st.session_state['has_key_google_OCR'] = False
|
1745 |
+
if 'has_key_palm2' not in st.session_state:
|
1746 |
+
st.session_state['has_key_palm2'] = False
|
1747 |
+
if 'has_key_azure' not in st.session_state:
|
1748 |
+
st.session_state['has_key_azure'] = False
|
1749 |
+
if 'LLM_VERSIONS' not in st.session_state:
|
1750 |
+
st.session_state['LLM_VERSIONS'] = None
|
1751 |
+
|
1752 |
|
1753 |
|
1754 |
# if not st.session_state.private_file:
|