Spaces:
Running
Running
Carlos Salgado
implement missing features in app.py, add retriever with summarization to scripts
d9ef11d
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') | |