Spaces:
Sleeping
Sleeping
from document_qa_engine import DocumentQAEngine | |
import streamlit as st | |
import logging | |
from yaml import load, SafeLoader, YAMLError | |
def load_authenticator_config(file_path='authenticator_config.yaml'): | |
try: | |
with open(file_path, 'r') as file: | |
authenticator_config = load(file, Loader=SafeLoader) | |
return authenticator_config | |
except FileNotFoundError: | |
logging.error(f"File {file_path} not found.") | |
except YAMLError as error: | |
logging.error(f"Error parsing YAML file: {error}") | |
def new_file(): | |
st.session_state['loaded_embeddings'] = None | |
st.session_state['doc_id'] = None | |
st.session_state['uploaded'] = True | |
clear_memory() | |
def clear_memory(): | |
if st.session_state['memory']: | |
st.session_state['memory'].clear() | |
def init_qa(model, api_key=None): | |
print(f"Initializing QA with model: {model} and API key: {api_key}") | |
return DocumentQAEngine(model, api_key=api_key) | |
def append_header(): | |
_, header_container, _ = st.columns([0.25, 0.5, 0.25]) | |
with header_container: | |
st.header('π Document Insights :rainbow[AI] Assistant π', divider='rainbow') | |
st.text("π₯ Upload documents in PDF format. Get insights.. ask questions..") | |
def append_documentation_to_sidebar(): | |
with st.expander("Disclaimer"): | |
st.markdown( | |
""" | |
:warning: Do not upload sensitive data. We **temporarily** store text from the uploaded PDF documents solely | |
for the purpose of processing your request, and we **do not assume responsibility** for any subsequent use | |
or handling of the data submitted to third parties LLMs. | |
""") | |
with st.expander("Documentation"): | |
st.markdown( | |
""" | |
Upload a CV as PDF document. Once the spinner stops, you can proceed to ask your questions. The answers will | |
be displayed in the right column. The system will answer your questions using the content of the document | |
and mark refrences over the PDF viewer. | |
""") | |