import streamlit as st | |
from streamlit_pdf_viewer import pdf_viewer | |
st.set_page_config(layout="wide") | |
def main(): | |
with st.sidebar: | |
st.title('Document Summarization and QA System') | |
# st.markdown(''' | |
# ## About this application | |
# Upload a pdf to ask questions about it. This retrieval-augmented generation (RAG) workflow uses: | |
# - [Streamlit](https://streamlit.io/) | |
# - [LlamaIndex](https://docs.llamaindex.ai/en/stable/) | |
# - [OpenAI](https://platform.openai.com/docs/models) | |
# ''') | |
# st.write('Made by ***Nate Mahynski***') | |
# st.write('nathan.mahynski@nist.gov') | |
# Select Provider | |
provider = st.selectbox( | |
label="Select LLM Provider", | |
options=['openai', 'huggingface'], | |
index=0 | |
) | |
# Select LLM | |
if provider == 'openai': | |
llm_list = ['gpt-3.5-turbo', 'gpt-4', 'gpt-4-turbo', 'gpt-4o'] | |
else: | |
llm_list = [] | |
llm = st.selectbox( | |
label="Select LLM Model", | |
options=llm_list, | |
index=0 | |
) | |
# Enter Token | |
token = st.text_input( | |
"Enter your token", | |
value=None | |
) | |
uploaded_file = st.file_uploader( | |
"Choose a PDF file to upload", | |
type=['pdf'], | |
accept_multiple_files=False | |
) | |
if uploaded_file is not None: | |
# Parse the file | |
pass | |
col1, col2 = st.columns(2) | |
with col2: | |
if uploaded_file is not None: | |
# Display the pdf | |
pdf_viewer(input=uploaded_file, width=700) |