import gradio as gr from langchain_helper import generate_restaurant_name_and_items def update_outputs(cuisine: str) -> tuple[str, str]: response = generate_restaurant_name_and_items(cuisine) restaurant_name = response["restaurant_name"].strip() menu_items = response["menu_items"].split(",") menu_items_formatted = "" for item in menu_items: menu_items_formatted += f"- {item.strip()}\n" return f"# {restaurant_name}", menu_items_formatted with gr.Blocks() as gradio_app: gr.Markdown("## Restaurant Name Generator") with gr.Row(): with gr.Column(scale=1) as left: inp_cuisine = gr.Dropdown( ["Arabic", "French", "Indian", "Italian", "Mexican"], label="Pick a cuisine", ) with gr.Column(variant="panel", scale=4) as right: out_restaurant_name = gr.Markdown() out_menu_items = gr.Markdown() inp_cuisine.change( fn=update_outputs, inputs=inp_cuisine, outputs=[out_restaurant_name, out_menu_items], ) if __name__ == "__main__": gradio_app.launch()