23RAG7 / app.py
cb1716pics's picture
Upload 2 files
2d5dee0 verified
raw
history blame
1.46 kB
import streamlit as st
from generator import generate_response_from_document
from retrieval import retrieve_documents
from evaluation import calculate_metrics
#from data_processing import load_data_from_faiss
import time
# Page Title
st.title("RAG7 - Real World RAG System")
# @st.cache_data
# def load_data():
# load_data_from_faiss()
# data_status = load_data()
time_taken_for_response = 'N/A'
# Question Section
st.subheader("Hi, What do you want to know today?")
question = st.text_area("Enter your question:", placeholder="Type your question here...", height=100)
# Submit Button
if st.button("Submit"):
start_time = time.time()
retrieved_documents = retrieve_documents(question, 5)
response = generate_response_from_document(question, retrieved_documents)
end_time = time.time()
time_taken_for_response = end_time-start_time
else:
response = ""
# Response Section
st.subheader("Response")
st.text_area("Generated Response:", value=response, height=150, disabled=True)
# Metrics Section
st.subheader("Metrics")
col1, col2 = st.columns([1, 3]) # Creating two columns for button and metrics display
with col1:
if st.button("Calculate Metrics"):
metrics = calculate_metrics(question, response, retrieved_documents, time_taken_for_response)
else:
metrics = ""
with col2:
st.text_area("Metrics:", value=metrics, height=100, disabled=True)