OpenSearch-AI / app.py
prasadnu's picture
rerank model
cb09d0b
raw
history blame
6 kB
import streamlit as st
from PIL import Image
import base64
import yaml
import os
import urllib.request
import tarfile
from yaml.loader import SafeLoader
# Page setup
st.set_page_config(
layout="wide",
page_icon="/home/ubuntu/images/opensearch_mark_default.png"
)
st.markdown("""
<div id="home-page">
""", unsafe_allow_html=True)
st.markdown("""
<style>
/* Import Amazon Ember font */
@import url('https://fonts.cdnfonts.com/css/amazon-ember');
/* Global layout tweaks */
html, body, .main {
html, body, .main {
background: linear-gradient(135deg, #0d0d0d 0%, #1a1a1a 30%, #102132 100%);
height: 100vh;
overflow: hidden;
color: white;
}
font-family: 'Amazon Ember', sans-serif;
}
.block-container {
padding-top: 2rem;
}
/* Hide Streamlit UI elements */
#MainMenu, header, footer,
button[title="View fullscreen"] {
visibility: hidden;
}
/* Title styling */
.title {
font-size: 40px;
color: #FF9900;
font-family: 'Amazon Ember Display 500', sans-serif;
margin-bottom: 10px;
}
.card {
background: rgba(255, 255, 255, 0.05); /* subtle white tint */
backdrop-filter: blur(8px); /* frosted glass effect */
border-radius: 12px;
padding: 24px 16px;
width: 100%;
margin: 0 auto;
height: 240px;
color: white;
box-shadow: 0 0 10px rgba(0,0,0,0.3);
transition: transform 0.2s ease, background 0.2s ease;
display: flex;
flex-direction: column;
justify-content: space-between;
position: relative;
}
.card:hover {
color: #e46e08;
transform: scale(1.06); /* Optional: adds smooth grow effect */
transition: all 0.3s ease-in-out;
border: 2px solid #ff3c3c;
}
/* Header strip with icon */
.card-header {
font-size: 45px;
color: #AAA;
text-transform: uppercase;
padding-bottom: 8px;
margin-bottom: 12px;
display: flex;
justify-content: center;
align-items: center;
height: 24px;
}
.card-text {
font-size: 31px;
font-weight: 500;
flex-grow: 1;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 0 8px;
}
.card:hover .card-text{
opacity: 1;
color: #e46e08;
font-size: 33px;
font-weight: bold;
transform: scale(1.2); /* Optional: adds smooth grow effect */
transition: all 0.3s ease-in-out;
}
/* Bottom arrow */
.card-arrow {
position: absolute;
bottom: 12px;
left: 50%;
transform: translateX(-50%) scale(1);
font-size: 22px;
font-weight: bold;
opacity: 0;
transition: all 0.3s ease-in-out;
color: #ffffff;
}
# .card:hover .card-arrow {
# opacity: 1;
# color: #e46e08;
# font-size: 30px;
# }
# .card:active .card-arrow {
# transform: translateX(-50%) scale(1.3);
# }
</style>
""", unsafe_allow_html=True)
# Header with logo and title
col_logo, col_title = st.columns([32, 68])
with col_logo:
st.image("/home/user/app/images/OS_AI_1_cropped.png", use_column_width=True)
spacer_col = st.columns(1)[0]
with spacer_col:
st.markdown("<div style='height: 120px;'></div>", unsafe_allow_html=True)
col1, col2, col3 = st.columns([1, 1, 1])
with col1:
st.markdown("""
<a href="/Semantic_Search" target="_self" style="text-decoration: none;">
<div class="card">
<div class="card-header" style="font-size: 45px; margin-bottom: 10px;">🔍</div>
<div class="card-text" style="font-size: 31px; color: #e46e08; ">AI Search</div>
<div class="card-description" style="font-size: 16px; color: #ccc; margin-top: 6px;text-align: center;white-space: normal;">
Explore ML search types, Re-ranking, Query rewriting and more on a retail dataset </div>
</div>
</a>
""", unsafe_allow_html=True)
with col2:
st.markdown("""
<a href="/Multimodal_Conversational_Search" target="_self" style="text-decoration: none;">
<div class="card">
<div class="card-header" style="font-size: 45px; margin-bottom: 10px;">💬</div>
<div class="card-text" style="font-size: 31px; color: #e46e08; ">Multimodal RAG</div>
<div class="card-description" style="font-size: 16px; color: #ccc; margin-top: 6px;text-align: center;white-space: normal;">
Explore Multimodal Conversational Search over complex PDFs (with tables, graphs etc) </div>
</div>
</a>
""", unsafe_allow_html=True)
st.markdown("""
</div>
""", unsafe_allow_html=True)
with col3:
st.markdown("""
<a href="/AI_Shopping_Assistant" target="_self" style="text-decoration: none;">
<div class="card">
<div class="card-header" style="font-size: 45px; margin-bottom: 10px;">🧠💬</div>
<div class="card-text" style="font-size: 31px; color: #e46e08;">Agentic RAG</div>
<div class="card-description" style="font-size: 16px; color: #ccc; margin-top: 6px;text-align: center;white-space: normal;">
Explore how an AI agent in front of RAG enhances product search experience </div>
</div>
</a>
""", unsafe_allow_html=True)
st.markdown("""
</div>
""", unsafe_allow_html=True)
st.markdown("""
<style>
#home-page html, #home-page body, #home-page .main {
background: linear-gradient(135deg, #0d0d0d 0%, #1a1a1a 30%, #102132 100%);
height: 100vh;
overflow: hidden;
color: white;
}
</style>
""", unsafe_allow_html=True)
st.markdown("""
<style>
#home-page html, #home-page body, #home-page .main {
background: linear-gradient(135deg, #0d0d0d 0%, #1a1a1a 30%, #102132 100%);
height: 100vh;
overflow: hidden;
color: white;
}
</style>
""", unsafe_allow_html=True)