search-alchemy / src /config.py
RobertoBarrosoLuque
Some cleanup
73fd05b
raw
history blame
4.21 kB
import gradio as gr
# Fireworks AI Model Configuration
EMBEDDING_MODEL = "accounts/fireworks/models/qwen3-embedding-8b"
LLM_MODEL = "accounts/fireworks/models/llama-v3p1-8b-instruct"
RERANKER_MODEL = "fireworks/qwen3-reranker-8b"
GRADIO_THEME = gr.themes.Base(
primary_hue=gr.themes.colors.purple,
secondary_hue=gr.themes.colors.violet,
neutral_hue=gr.themes.colors.slate,
spacing_size=gr.themes.sizes.spacing_lg,
radius_size=gr.themes.sizes.radius_md,
text_size=gr.themes.sizes.text_md,
font=[gr.themes.GoogleFont("Inter"), "ui-sans-serif", "system-ui", "sans-serif"],
font_mono=[gr.themes.GoogleFont("JetBrains Mono"), "monospace"],
).set(
button_primary_background_fill="#6720FF",
button_primary_background_fill_hover="#7B2FFF",
button_primary_text_color="#FFFFFF",
button_secondary_background_fill="#F3F0FF",
button_secondary_background_fill_hover="#EDE9FE",
button_secondary_text_color="#6720FF",
slider_color="#6720FF",
link_text_color="#6720FF",
link_text_color_hover="#7B2FFF",
link_text_color_visited="#8B5CF6",
body_background_fill="#FAFBFC",
block_background_fill="#FFFFFF",
input_background_fill="#FFFFFF",
border_color_primary="#E6EAF4",
)
CUSTOM_CSS = """
.gradio-container {
font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
background: linear-gradient(135deg, #FAFBFC 0%, #F3F0FF 100%);
}
.header-title {
background: linear-gradient(135deg, #6720FF 0%, #8B5CF6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
font-weight: 700;
text-align: center;
margin-bottom: 0.5em;
}
.subtitle {
color: #64748B;
text-align: center;
font-size: 1.1em;
margin-top: 0;
}
.search-box {
border: 2px solid #E6EAF4;
border-radius: 10px;
transition: all 0.2s ease;
}
.search-box:focus {
border-color: #6720FF;
box-shadow: 0 0 0 3px rgba(103, 32, 255, 0.1);
}
.result-card {
background: white;
border-radius: 12px;
padding: 16px;
margin: 8px 0;
box-shadow: 0 2px 4px rgba(103, 32, 255, 0.08);
border: 1px solid #E6EAF4;
transition: all 0.2s ease;
}
.result-card:hover {
box-shadow: 0 4px 12px rgba(103, 32, 255, 0.12);
border-color: #C4B5FD;
}
.metric-box {
background: linear-gradient(to right, #F3F0FF, #FFFFFF);
border-left: 3px solid #6720FF;
padding: 12px;
margin: 8px 0;
border-radius: 8px;
font-size: 0.9em;
}
.code-section {
background: linear-gradient(to right, #F3F0FF, #FFFFFF);
border-left: 3px solid #6720FF;
padding: 16px;
margin: 12px 0;
border-radius: 8px;
font-family: 'JetBrains Mono', monospace;
font-size: 0.9em;
}
.comparison-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
}
.comparison-table th {
background: #6720FF;
color: white;
padding: 12px;
text-align: left;
font-weight: 600;
}
.comparison-table td {
padding: 12px;
border-bottom: 1px solid #E6EAF4;
}
.comparison-table tr:hover {
background: #F3F0FF;
}
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #F3F0FF;
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
background: #C4B5FD;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #A78BFA;
}
details {
border: 1px solid #E6EAF4;
border-radius: 10px;
padding: 12px;
margin: 10px 0;
background: white;
}
details[open] {
border-color: #6720FF;
box-shadow: 0 4px 12px rgba(103, 32, 255, 0.15);
}
summary {
font-weight: 600;
color: #6720FF;
cursor: pointer;
padding: 4px;
}
summary:hover {
color: #7B2FFF;
}
.logo-image {
display: flex;
justify-content: flex-end;
align-items: center;
}
.api-config-accordion {
margin: 10px 0;
padding: 0;
}
.api-config-accordion > .label-wrap {
font-size: 0.85em;
padding: 8px 12px;
}
"""
EXAMPLE_QUERIES = [
"gift for 5 year old who likes science",
"cheap wireless headphones good battery",
"running shoes",
"waterproof bluetooth speaker",
"ergonomic office chair under 200",
]