Spaces:
Sleeping
Sleeping
File size: 7,177 Bytes
88f694a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
import streamlit as st
import pandas as pd
# Sample Data (Replace with your actual data loading)
data = {
'query_v': {
'gemini': 'Cheap European city break in February.',
'llama': 'Affordable European trip in February.',
},
'query_p0': {
'gemini': 'European city break in February, less crowded destinations.',
'llama': 'February European city break, away from the crowds.',
},
'query_p1': {
'gemini': 'Best European cities for intense physical training and recovery with easy access to ice rinks?',
'llama': 'Top European cities for intense training and recovery with ice rinks?',
},
}
# Sample rating data (Replace this with your actual data)
rating_data = {
'gemini': {
'query_v': {'relevance': 'Not Relevant', 'clarity': 'Not Clear'},
'query_p0': {'relevance': 'Not Relevant', 'clarity': 'Not Clear', 'persona_alignment': 'N/A'},
'query_p1': {'relevance': 'N/A', 'clarity': 'N/A', 'persona_alignment': 'N/A'},
},
'llama': {
'query_v': {'relevance': 'Somewhat Relevant', 'clarity': 'Somewhat Clear'},
'query_p0': {'relevance': 'Somewhat Relevant', 'clarity': 'Somewhat Clear', 'persona_alignment': 'Partially Aligned'},
'query_p1': {'relevance': 'Not Relevant', 'clarity': 'Not Clear', 'persona_alignment': 'Not Aligned'},
}
}
df = pd.DataFrame.from_dict(data)
# Function to display query, rating, and controls for one query
def display_query_section(query_type, query_text_gemini, query_text_llama, relevance_gemini, clarity_gemini, relevance_llama, clarity_llama, persona_alignment_gemini=None, persona_alignment_llama=None):
st.subheader(f"{query_type}")
col1, col2 = st.columns(2)
with col1:
st.markdown("Gemini")
st.write(query_text_gemini)
st.markdown("Relevance")
relevance_options = ['N/A', 'Not Relevant', 'Somewhat Relevant', 'Relevant', 'Unclear']
selected_relevance_gemini = st.radio("Relevance", options = relevance_options, key=f"relevance_{query_type}_gemini", index=relevance_options.index(relevance_gemini), horizontal=True)
st.markdown("Clarity")
clarity_options = ['N/A', 'Not Clear', 'Somewhat Clear', 'Very Clear']
selected_clarity_gemini = st.radio("Clarity", options = clarity_options, key=f"clarity_{query_type}_gemini", index=clarity_options.index(clarity_gemini), horizontal=True)
if persona_alignment_gemini:
st.markdown("Persona Alignment")
persona_options = ['N/A', 'Not Aligned', 'Partially Aligned', 'Aligned', 'Unclear']
selected_persona_alignment_gemini = st.radio("Persona Alignment", options = persona_options, key=f"persona_{query_type}_gemini", index=persona_options.index(persona_alignment_gemini), horizontal=True)
with col2:
st.markdown("Llama")
st.write(query_text_llama)
st.markdown("Relevance")
relevance_options_llama = ['N/A', 'Not Relevant', 'Somewhat Relevant', 'Relevant', 'Unclear']
selected_relevance_llama = st.radio("Relevance", options = relevance_options_llama, key=f"relevance_{query_type}_llama", index=relevance_options_llama.index(relevance_llama), horizontal=True)
st.markdown("Clarity")
clarity_options_llama = ['N/A', 'Not Clear', 'Somewhat Clear', 'Very Clear']
selected_clarity_llama = st.radio("Clarity", options = clarity_options_llama, key=f"clarity_{query_type}_llama", index=clarity_options_llama.index(clarity_llama), horizontal=True)
if persona_alignment_llama:
st.markdown("Persona Alignment")
persona_options_llama = ['N/A', 'Not Aligned', 'Partially Aligned', 'Aligned', 'Unclear']
selected_persona_alignment_llama = st.radio("Persona Alignment", options = persona_options_llama, key=f"persona_{query_type}_llama", index=persona_options_llama.index(persona_alignment_llama), horizontal=True)
# Main Streamlit App
st.set_page_config(layout="wide")
# Context Information
st.title("Question 1 of 5")
st.subheader("Config ID: c_p_0_pop_low_easy")
st.markdown("### Context Information")
with st.expander("Persona", expanded=True):
st.write("A top-scoring player in the local league who is also eyeing a professional career in the NHL")
with st.expander("Filters & Cities", expanded=True):
st.write("Filters: {'popularity': 'low', 'month': 'February'}")
st.write("Cities: ['Adana', 'Adiyaman', 'Agri', 'Arad', 'Arkhangelsk', 'Bacau', 'Baia Mare', 'Balikesir', 'Brest',\
'Burgas', 'Canakkale', 'Craiova', 'Debrecen', 'Denizli', 'Diyarbakir', 'Elazig', 'Erzincan', 'Eskisehir',\
'Gaziantep', 'lasi', 'Ioannina', 'Isparta', 'Jonkoping', 'Kahramanmaras', 'Kars', 'Kayseri', 'Konya', 'Kosice',\
'Linkoping', 'Malatya', 'Miskolc', 'Mykolaiv', 'Nalchik', 'Nevsehir', 'Nis', 'Orebro', 'Orleans', 'Rivne',\
'Rzeszow', 'Samsun', 'Sanliurfa', 'Sevilla', 'Siirt', 'Sivas', 'Syktyvkar', 'Targu-Mures', 'Tekirdag',\
'Thessaloniki', 'Trabzon', 'Uzhhorod', 'Valladolid', 'Van', 'Vasteras', 'Vinnytsia', 'Vitoria-Gasteiz',\
'Vladikavkaz', 'Zaporizhzhia', 'Zielona Gora', 'Batman', 'Erzurum']")
# Display Query Sections
display_query_section(
query_type="Query_v",
query_text_gemini=df.loc['gemini','query_v'],
query_text_llama=df.loc['llama','query_v'],
relevance_gemini=rating_data['gemini']['query_v']['relevance'],
clarity_gemini=rating_data['gemini']['query_v']['clarity'],
relevance_llama=rating_data['llama']['query_v']['relevance'],
clarity_llama=rating_data['llama']['query_v']['clarity'],
)
display_query_section(
query_type="Query_p0",
query_text_gemini=df.loc['gemini','query_p0'],
query_text_llama=df.loc['llama','query_p0'],
relevance_gemini=rating_data['gemini']['query_p0']['relevance'],
clarity_gemini=rating_data['gemini']['query_p0']['clarity'],
persona_alignment_gemini=rating_data['gemini']['query_p0']['persona_alignment'],
relevance_llama=rating_data['llama']['query_p0']['relevance'],
clarity_llama=rating_data['llama']['query_p0']['clarity'],
persona_alignment_llama=rating_data['llama']['query_p0']['persona_alignment'],
)
display_query_section(
query_type="Query_p1",
query_text_gemini=df.loc['gemini','query_p1'],
query_text_llama=df.loc['llama','query_p1'],
relevance_gemini=rating_data['gemini']['query_p1']['relevance'],
clarity_gemini=rating_data['gemini']['query_p1']['clarity'],
persona_alignment_gemini=rating_data['gemini']['query_p1']['persona_alignment'],
relevance_llama=rating_data['llama']['query_p1']['relevance'],
clarity_llama=rating_data['llama']['query_p1']['clarity'],
persona_alignment_llama=rating_data['llama']['query_p1']['persona_alignment'],
)
# Additional Comments
st.markdown("Additional Comments (Optional):")
st.text_area("", key="additional_comments")
# Navigation Buttons
col1, col2, col3 = st.columns([1,1,1])
with col1:
st.button("Back")
with col2:
st.button("Next")
with col3:
st.button("Exit & Resume Later")
# Bottom message
st.markdown("Please provide a rating before proceeding.") |