import streamlit as st import pandas as pd import random from auth import check_password if not check_password(): st.stop() st.set_page_config( page_title="ARL - Pilot 2b - Agent 80 - GPT4V", page_icon="🎆", layout="wide", ) df = pd.read_csv('./results_with_gpt4v.csv') print(df.columns) query = st.experimental_get_query_params() if not query or 'id4' not in query or not query['id4']: rnd_ind = random.randint(0, len(df) - 1) # id = rnd_ind id = 0 st.experimental_set_query_params(id=id) file_id = id else: file_id = int(query['id4'][0]) st.experimental_set_query_params(id4=file_id) data = df.iloc[file_id] # st.table(data) # print(data) def show_story(): st.subheader('Impacted Story') number_of_story_lines = int(data['Input.number_of_lines']) print(number_of_story_lines) story = data['Input.story'].split('. ') for i in range(number_of_story_lines): row_name = f'Answer.line{i}_changed.on' print(row_name, data[row_name]) if data[row_name]: st.markdown(f'**Line {i+1}:** {story[i]}', unsafe_allow_html=True) else: st.markdown(f'**Line {i+1}:** {story[i]}') def show_data(): col1, col2 = st.columns(2) with col1: img1, img2, img3 = st.columns(3) with img1: st.image(data['Input.image1']) with img2: st.image(data['Input.image2']) with img3: st.image(data['Input.image3']) st.subheader('Entity') st.write(data['Input.entity']) st.subheader('Agent') st.write(data['Input.agent']) # st.subheader('Input Goal') # st.write(data['Input.goal']) st.subheader('Story') st.write(data['Input.story']) with col2: st.header('GPT4V Output') st.markdown(data['GPT4V.out'], unsafe_allow_html=True) # from api import show_likert_scale # done = show_likert_scale('step_all', 'Whole', data['AssignmentId']) done = True if st.button("Next", disabled=not done): id = file_id + 1 st.experimental_set_query_params(id4=id) st.experimental_rerun() show_data()