import gradio as gr from workflow.agents_workflow import build_agents_workflow from workflow.graph_state import GraphState app = build_agents_workflow(llm_model_name="gpt-4o-mini") def run_user_query(ticker, history): QUERY = f"Produce investor-ready insights for {ticker}." init_state: GraphState = { "ticker": ticker, "query": QUERY, "news_summary": None, "earnings_summary": None, "market_summary": None, "completed": [], "final_recommendation": None, } final_state = app.invoke(init_state) # Update the Gradio chat history recommendations = (f'### NEWS SUMMARY\n{final_state["news_summary"]}\n ' f'### EARNINGS SUMMARY\n{final_state["earnings_summary"]}\n ' f'### MARKET SUMMARY\n{final_state["market_summary"]}\n ' f'### FINAL RECOMMENDATION\n{final_state["final_recommendation"]}\n') history.append((QUERY, recommendations)) return "", history with gr.Blocks() as demo: chatbot = gr.Chatbot() msg = gr.Textbox() clear = gr.Button("Clear") msg.submit(run_user_query, [msg, chatbot], [msg, chatbot], queue=False) clear.click(lambda: None, None, chatbot, queue=False) if __name__ == "__main__": demo.launch(share=True, show_api=False)