docverifyrag / app.py
Carlos Salgado
implement missing features in app.py, add retriever with summarization to scripts
d9ef11d
raw
history blame
1.7 kB
import io
import os
import streamlit as st
import tempfile
from scripts import analyze_metadata, generate_metadata, ingest, MODEL_NAME
st.title('# DocVerifyRAG')
st.write('## Anomaly detection for BIM document metadata')
st.write('### Enter your file metadata in the following schema:')
user_input = st.text_input(
label='Filename, Description, Discipline',
value="", placeholder=str)
if st.button('Submit'):
try:
filename, description, discipline = user_input.split(',')
st.write('## Analyzing with Vectara + together.ai')
analysis = analyze_metadata(filename, description, discipline)
st.write(analysis)
st.write('## Generate metadata?')
st.write('### Upload the file that corresponds to the submitted metadata')
uploaded_file = st.file_uploader("Choose a PDF file", type=["pdf","txt"])
if uploaded_file is not None:
try:
with tempfile.NamedTemporaryFile(delete=False, suffix=os.path.splitext(uploaded_file.name)[1]) as tmp:
tmp.write(uploaded_file.read())
file_path = tmp.name
st.write(f'Created temporary file {file_path}')
docs = ingest(file_path)
st.write('## Querying Together.ai API')
metadata = generate_metadata(docs)
st.write(f'## Metadata Generated by {MODEL_NAME}')
st.write(metadata)
# Clean up the temporary file
os.remove(file_path)
except Exception as e:
st.error(f'Error: {e}')
except ValueError:
st.error('Please enter 3 comma separated values')