def launch_interface():
with gr.Blocks(
title="RAG App",
css="""
.gradio-container {
background-color: #e6fff7 !important;
}
#header-text {
text-align: center;
color: #2b6777;
}
"""
) as demo:
gr.Markdown("""
""")
with gr.Tabs():
with gr.Tab("Paul Graham"):
# ✅ Logo moved above heading
if os.path.exists("data/logo.png"):
gr.Image("data/logo.png", show_label=False, container=False, height=120)
gr.Markdown("""
""")
dropdown_pg = gr.Dropdown(label="Pick a Question", choices=[""] + paul_questions, interactive=True)
textbox_pg = gr.Textbox(label="Ask Anything", placeholder="Type your question...", lines=2)
output_pg = gr.Textbox(label="Response", lines=10)
submit_pg = gr.Button("Submit")
clear_pg = gr.Button("Clear")
def handle_pg_submit(drop_value, text_value):
final_query = drop_value if drop_value else text_value
if not final_query.strip():
return "❌ Please select or enter a question."
return query_pg(final_query)
dropdown_pg.change(fn=query_pg, inputs=dropdown_pg, outputs=output_pg)
submit_pg.click(handle_pg_submit, inputs=[dropdown_pg, textbox_pg], outputs=output_pg)
clear_pg.click(lambda: ("", "", ""), outputs=[dropdown_pg, textbox_pg, output_pg])
with gr.Tab("Insurance"):
gr.Markdown("""
""")
dropdown_ins = gr.Dropdown(label="Pick a Question", choices=[""] + insurance_questions, interactive=True)
textbox_ins = gr.Textbox(label="Ask Anything", placeholder="Type your question...", lines=2)
output_ins = gr.Textbox(label="Response", lines=10)
submit_ins = gr.Button("Submit")
clear_ins = gr.Button("Clear")
def handle_ins_submit(drop_value, text_value):
final_query = drop_value if drop_value else text_value
if not final_query.strip():
return "❌ Please select or enter a question."
return query_ins(final_query)
dropdown_ins.change(fn=query_ins, inputs=dropdown_ins, outputs=output_ins)
submit_ins.click(handle_ins_submit, inputs=[dropdown_ins, textbox_ins], outputs=output_ins)
clear_ins.click(lambda: ("", "", ""), outputs=[dropdown_ins, textbox_ins, output_ins])
demo.launch()