Spaces:
Sleeping
Sleeping
import os | |
import streamlit as st | |
import utils | |
# Set up the sidebar | |
# Ask the user for an API key in the sidebar | |
os.environ["OPENAI_API_KEY"] = st.sidebar.text_input("Your OpenAI API Key", type="password") | |
st.sidebar.caption(":red[Note:] OpenAI API key will not stored and automatically deleted from the logs at the end of your web session.") | |
# Display a title | |
st.title("Invoice Buddy") | |
# Short description of the app | |
st.markdown(""" | |
### Extract information from invoices | |
""") | |
if os.environ["OPENAI_API_KEY"] == "": | |
disable_file_uploader = True | |
st.error('Kindly enter OpenAI API key') | |
else: | |
disable_file_uploader = False | |
# Add a file uploader widget | |
uploaded_file = st.file_uploader("Upload invoice image (png, jpg, jpeg)", type=['png', 'jpg'], disabled=disable_file_uploader) | |
if uploaded_file is not None: | |
utils.empty_directory('data') | |
utils.save_uploaded_file('data', uploaded_file) | |
response = utils.pass_to_openai_vision_api(uploaded_file) | |
st.markdown('Data extracted from invoice is ') | |
st.markdown(response) | |
utils.make_discord_trace_multimodal(image_path=os.path.join('data', uploaded_file.name), text_message=response) | |
utils.empty_directory('data') |