Spaces:
Sleeping
Sleeping
import streamlit as st | |
from rag import answer_question | |
# Set page config | |
st.set_page_config( | |
page_title="Cory Booker's Marathon Speech", page_icon="๐บ๐ธ", layout="wide" | |
) | |
# Custom CSS | |
st.markdown( | |
""" | |
<style> | |
/* Force light mode */ | |
[data-testid="stAppViewContainer"] { | |
background-color: #f8f9fa; | |
} | |
[data-testid="stSidebar"] { | |
background-color: #f8f9fa; | |
} | |
.stApp { | |
background-color: #f8f9fa; | |
color: #000000; | |
} | |
.main { | |
background-color: #f8f9fa; | |
} | |
.stButton>button { | |
background-color: #1a237e; | |
color: white; | |
border-radius: 5px; | |
padding: 10px 20px; | |
border: none; | |
font-weight: bold; | |
} | |
.stButton>button:hover { | |
background-color: #0d47a1; | |
} | |
.stTextArea>div>div>textarea { | |
border-radius: 5px; | |
border: 2px solid #e0e0e0; | |
} | |
.highlight-text { | |
background-color: #fff3cd; | |
padding: 2px 5px; | |
border-radius: 3px; | |
font-weight: bold; | |
color: #000000; | |
} | |
.answer-text { | |
color: #000000; | |
font-size: 16px; | |
line-height: 1.6; | |
} | |
.section-title { | |
color: #000000; | |
font-weight: bold; | |
} | |
.section-text { | |
color: #000000; | |
} | |
/* Override any dark mode styles */ | |
.stMarkdown { | |
color: #000000; | |
} | |
.stTextInput>div>div>input { | |
background-color: #ffffff; | |
color: #000000; | |
} | |
</style> | |
""", | |
unsafe_allow_html=True, | |
) | |
# Header with American flag emoji | |
st.title("๐บ๐ธ Cory Booker's Historic Speech") | |
st.markdown( | |
""" | |
<div style='background-color: #ffffff; padding: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-top: 20px;'> | |
<h3 class="section-title">Source Material</h3> | |
<p class="section-text">The transcript is derived from videos in this playlist: | |
<a href='https://www.youtube.com/playlist?list=PLeifkaZBt4JtdT8DZ7aftJ0lU0Q6Hfnvz' target='_blank'>YouTube Playlist</a></p> | |
</div> | |
""", | |
unsafe_allow_html=True, | |
) | |
# Search section | |
st.markdown( | |
""" | |
<div style='background-color: #ffffff; padding: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-top: 20px;'> | |
<h2 class="section-title">Explore the Speech</h2> | |
<p class="section-text">Ask questions about Senator Booker's historic <span class="highlight-text">25-hour speech</span> below:</p> | |
</div> | |
""", | |
unsafe_allow_html=True, | |
) | |
text = st.text_area( | |
"Your Question", | |
height=150, | |
placeholder="What would you like to know about Senator Booker's speech?", | |
) | |
if st.button("Search", key="search_button"): | |
with st.spinner("Searching through the historic transcript..."): | |
response = answer_question(text) | |
st.markdown( | |
""" | |
<div style='background-color: #ffffff; padding: 20px; border-radius: 10px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-top: 20px;'> | |
<h3 class="section-title">Answer:</h3> | |
<p class="answer-text">{}</p> | |
</div> | |
""".format( | |
response | |
), | |
unsafe_allow_html=True, | |
) | |
# Add disclaimer about LLM hallucinations | |
st.markdown( | |
""" | |
<div style='background-color: #fff3cd; padding: 15px; border-radius: 5px; margin-top: 20px; border: 1px solid #ffeeba;'> | |
<p style='color: #856404; margin: 0;'>Please verify important facts and consult primary sources when possible.</p> | |
</div> | |
""", | |
unsafe_allow_html=True, | |
) | |
# Footer | |
st.markdown( | |
""" | |
<div style='text-align: center; margin-top: 40px;'> | |
<p class="section-text">๐บ๐ธ Celebrating American Democracy and the Power of Speech ๐บ๐ธ</p> | |
<p class="section-text" style='font-size: 14px;'>Made with โค๏ธ by <a href="https://nkasmanoff.github.io/" target="_blank">Noah K</a></p> | |
</div> | |
""", | |
unsafe_allow_html=True, | |
) | |