geekyrakshit's picture
add: eval page to app
98a3259
raw
history blame
1.64 kB
import pandas as pd
import streamlit as st
import weave
from dotenv import load_dotenv
load_dotenv()
weave.init(project_name="guardrails-genie")
st.title(":material/monitoring: Evaluation")
if "start_evaluation" not in st.session_state:
st.session_state.start_evaluation = False
if "ref" not in st.session_state:
st.session_state.ref = None
uploaded_file = st.sidebar.file_uploader("Choose a CSV file", type="csv")
dataset_name = st.sidebar.text_input("Dataset name", value="")
visualize_in_app = st.sidebar.toggle("Visualize in app", value=False)
if uploaded_file is not None:
with st.expander("Dataset Preview"):
dataframe = pd.read_csv(uploaded_file)
data_list = dataframe.to_dict(orient="records")
if dataset_name != "":
dataset = weave.Dataset(name=dataset_name, rows=data_list)
st.session_state.ref = weave.publish(dataset)
st.write(
f"Dataset published at https://wandb.ai/{st.session_state.ref.entity}/{st.session_state.ref.project}/weave/objects/{st.session_state.ref.name}/versions/{st.session_state.ref._digest}"
)
if visualize_in_app:
st.dataframe(data_list)
# dataset = weave.ref("weave:///geekyrakshit/guardrails-genie/object/sample-dataset:RvdLm7KZ5KXFGcXUHWMGoJBWRVmdxiH6VgWu4cpsDHM").get()
run_evaluation_button = st.sidebar.button("Run Evaluation")
st.session_state.start_evaluation = run_evaluation_button
if st.session_state.start_evaluation:
with st.expander("Evaluation Results"):
st.write("Evaluation results will be displayed here.")