AIVoice / app.py
DSatishchandra's picture
Update app.py
f18f270 verified
raw
history blame
1.33 kB
import gradio as gr
import asyncio
from order_assistant import OrderAssistant, load_food_menu # Import OrderAssistant and load_food_menu
# Load the food menu from the menu.json file
food_menu = load_food_menu()
# Initialize the food order assistant with the food menu
order_assistant = OrderAssistant(food_menu)
# Gradio interface function
async def food_order_interface(audio_input, food_type):
audio, order_details = await order_assistant.food_order_assistant(audio_input, food_type)
return audio, order_details
# Create Gradio application
async def create_demo():
demo = gr.Interface(fn=food_order_interface,
inputs=[gr.Audio(type="filepath", label="Order Food"), # Microphone input for voice (corrected)
gr.Dropdown(choices=["Starters", "Main Course", "Desserts"], label="Food Type")],
outputs=[gr.Audio(label="Order Confirmation Audio"),
gr.Textbox(label="Confirmed Order Details", interactive=False)],
title="AI Restaurant Voice Ordering",
description="Order food easily with the AI assistant's voice ordering system.")
return demo
# Run the application
if __name__ == "__main__":
demo = asyncio.run(create_demo())
demo.launch()