| import gradio as gr | |
| from builder.agent_runner import run_agent | |
| def build_ui(app, tracer): | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Datum : Autonomous Data Analysis Agent") | |
| chatbot = gr.Chatbot(type="messages") | |
| user_input = gr.Textbox(label="Ask a question", placeholder="Ex: Show me marketing spend by channel") | |
| submit_btn = gr.Button("Send", variant='primary') | |
| state = gr.State([]) | |
| user_input.submit( | |
| lambda m, h: run_agent(app, tracer, m, h), | |
| inputs=[user_input, state], | |
| outputs=[chatbot, state, user_input] | |
| ) | |
| submit_btn.click( | |
| lambda m, h: run_agent(app, tracer, m, h), | |
| inputs=[user_input, state], | |
| outputs=[chatbot, state, user_input] | |
| ) | |
| return demo | |