Download app.py from elloxli/chatbot: direct link, hf CLI and curl.
- Browser
- Download file 2.02 kB
-
https://huggingface.co/spaces/elloxli/chatbot/resolve/main/app.py
- Command line
-
hf download hf://spaces/elloxli/chatbot/app.py
-
curl -L -o app.py https://huggingface.co/spaces/elloxli/chatbot/resolve/main/app.py
2.02 kB
| # Fitora: AI Fitness Chatbot | |
| # Run with: pip install gradio huggingface_hub | |
| import gradio as gr | |
| from huggingface_hub import InferenceClient | |
| # Create Hugging Face inference client | |
| # Make sure you have a valid Hugging Face token if required | |
| client = InferenceClient("microsoft/phi-4") | |
| # Chatbot logic | |
| def respond(message, history): | |
| # System prompt for fitness personality | |
| messages = [ | |
| { | |
| "role": "system", | |
| "content": ( | |
| "You are Fitora, an upbeat, energetic personal fitness trainer AI. " | |
| "You give motivational, supportive responses with specific workout tips, " | |
| "nutrition advice, and healthy lifestyle encouragement. Always be positive " | |
| "and help the user stay consistent in their fitness journey." | |
| ) | |
| } | |
| ] | |
| # Add previous chat history if it exists | |
| if history: | |
| messages.extend(history) | |
| # Add user message | |
| messages.append({"role": "user", "content": message}) | |
| # Get AI response from Hugging Face | |
| response = client.chat_completion( | |
| messages, | |
| max_tokens=500 | |
| ) | |
| return response['choices'][0]['message']['content'].strip() | |
| # Build Gradio interface | |
| with gr.Blocks(theme=gr.themes.Soft()) as demo: | |
| gr.Markdown( | |
| """ | |
| # 🏋️♀️ **Fitora — Your AI Fitness Coach** | |
| Your virtual workout buddy! | |
| Get workout plans, nutrition tips, and a boost of motivation. | |
| Let’s reach your goals together 💪🔥 | |
| """ | |
| ) | |
| chatbot = gr.ChatInterface( | |
| respond, | |
| type="messages", | |
| title="Fitora - AI Fitness Coach", | |
| examples=[ | |
| ["Give me a 15-minute HIIT workout for home"], | |
| ["Motivate me to do a workout after a long day"], | |
| ["Suggest a quick healthy breakfast"], | |
| ["What’s a good stretching routine before running?"] | |
| ] | |
| ) | |
| # Launch app | |
| if __name__ == "__main__": | |
| demo.launch() | |