ZedLow's picture
Update rag/ui.py
a19d371 verified
import gradio as gr
def build_demo(retrieve_and_answer):
with gr.Blocks(title="Financial RAG Demo") as demo:
gr.Markdown("# Financial RAG Demo")
gr.Markdown(
"Architecture: GLiNER (CPU Router) → GTE-7B (Retrieval) → Qwen2-VL (Vision Analysis)"
)
gr.Markdown(
"""
### About this demo
- Entity-aware routing (Apple / Microsoft)
- Prevents *accidental* cross-company document mixing
- Tables processed as images (no OCR flattening)
- Explicit refusals for out-of-scope or ambiguous queries
### Try these prompts
- `What was Apple's total revenue in 2023?`
- `What is Microsoft's operating income?`
- `Compare Apple and Microsoft revenues` -> explicit multi-entity reasoning
- `What was Google's revenue in 2023?` -> rejected
i Full details are in the GitHub repo.
"""
)
with gr.Row():
query_input = gr.Textbox(
label="User Question",
placeholder=(
"Example: Compare Apple and Microsoft revenue, "
"or ask about a specific company metric."
),
)
submit_btn = gr.Button("Run Analysis", variant="primary")
with gr.Row():
output_gallery = gr.Gallery(label="Source Documents", columns=3, height=300)
output_meta = gr.Markdown(label="System Trace")
output_text = gr.Markdown(label="Answer")
submit_btn.click(
retrieve_and_answer,
inputs=query_input,
outputs=[output_gallery, output_meta, output_text],
)
return demo