user-feedback / app.py
ashmib's picture
Update app.py
a2dd0df verified
raw
history blame
1.67 kB
import pandas as pd
import streamlit as st
# Title
st.title("Q&A Evaluation Tool")
# Load the dataset from the repository
@st.cache_data
def load_data():
return pd.read_csv("dummy_qa_data.csv")
# Load data
data = load_data()
# Add columns for evaluation if not present
if "Rating" not in data.columns:
data["Rating"] = ""
if "Comments" not in data.columns:
data["Comments"] = ""
# Initialize session state for tracking progress
if "current_index" not in st.session_state:
st.session_state.current_index = 0
# Display current question-answer pair
idx = st.session_state.current_index
if idx < len(data):
st.subheader(f"Question {idx + 1}:")
st.write(data.loc[idx, "Question"])
st.subheader("Generated Answer:")
st.write(data.loc[idx, "Generated Answer"])
# Rating input
rating = st.slider("Rate the answer (1 = Poor, 5 = Excellent)", 1, 5, step=1)
comment = st.text_area("Add any comments or suggestions")
# Save feedback
if st.button("Submit Feedback"):
data.at[idx, "Rating"] = rating
data.at[idx, "Comments"] = comment
st.session_state.current_index += 1
# Save the updated dataset
data.to_csv("evaluated_data.csv", index=False)
# Confirmation and next question
st.success("Feedback submitted!")
st.experimental_rerun()
else:
st.write("You have completed the evaluation. Thank you!")
# Download the evaluated file
with open("evaluated_data.csv", "rb") as f:
st.download_button(
"Download Evaluated Data",
f,
file_name="evaluated_data.csv",
mime="text/csv",
)