Show me how to create a Gradio app with multiple tabs
user
Here's how to create a Gradio app with multiple tabs:

```python
import gradio as gr

def greet(name):
    return f"Hello {name}!"

def calculate(x, y):
    return x + y

with gr.Blocks() as demo:
    gr.Markdown("# Multi-Tab Application")
    
    with gr.Tab("Greeting"):
        name_input = gr.Textbox(label="Your Name")
        greet_btn = gr.Button("Greet")
        greet_output = gr.Textbox(label="Greeting")
        
        greet_btn.click(greet, inputs=name_input, outputs=greet_output)
    
    with gr.Tab("Calculator"):
        with gr.Row():
            num1 = gr.Number(label="First Number")
            num2 = gr.Number(label="Second Number")
        
        calc_btn = gr.Button("Add")
        calc_output = gr.Number(label="Result")
        
        calc_btn.click(calculate, inputs=[num1, num2], outputs=calc_output)
    
    with gr.Tab("Info"):
        gr.Markdown("This app demonstrates multiple tabs in Gradio")

demo.launch()
```

Use `gr.Tab()` within a `gr.Blocks()` context to create tabbed interfaces.
assistant