Spaces:
Sleeping
Sleeping
WikiFit - Health & Fitness App with AI Integration
WikiFit is a comprehensive health and fitness application that provides information from Wikimedia sources, alongside AI-powered health Q&A capabilities using Hugging Face transformers.
Features
- Daily Health Tips: Random health and fitness tips (now with seasonal recommendations)
- Health Search: Wikipedia-based health information search
- Workout Plans: Various workout routines (full-body, cardio, strength, flexibility)
- Home Remedies: Traditional home remedies for common ailments
- Health Facts: Interesting health-related facts
- Interactive Quiz: Test your health knowledge
- BMI Calculator: Calculate BMI with support for different height units (m, cm, feet)
- AI Health Q&A: Ask health questions with AI-powered answers (requires transformers)
- Knowledge Center: Comprehensive search across all Wikimedia projects:
- Wikipedia: General encyclopedic knowledge
- Wiktionary: Definitions and terminology
- Wikiquote: Health and fitness quotes
- Wikibooks: Educational health content
- Wikimedia Commons: Health-related images
- Wikisource: Historical health documents
- Wikiversity: Educational health resources
- Wikispecies: Biological species information
- Wikidata: Structured health data
- Progress Tracker: Track workouts and quiz scores
Installation
- Clone the repository
- Create a virtual environment (recommended):
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate - Install core dependencies:
pip install streamlit requests pandas numpy - For AI features, install additional dependencies:
pip install transformers torch - Or install all dependencies at once:
pip install -r requirements.txt
Running the Application
Full Version (with AI features)
streamlit run ai.py
Basic Version (no advanced dependencies)
If you encounter compatibility issues:
streamlit run wikifit_basic.py
Troubleshooting
NumPy/Pandas Compatibility Issues
If you see errors like numpy.dtype size changed, try:
pip install numpy==1.24.3 pandas==2.0.3
AI Features Not Working
The AI features require additional libraries. If you don't need these features, use the basic version instead, or install the required packages:
pip install transformers torch
Project Structure
Key Files
ai.py- Main Streamlit application with full features including AI capabilitieswikifit_basic.py- Simplified version without AI dependencieswikimedia.py- Core module containing all Wikimedia API integrationswiki.py- Backward-compatibility adapter for existing coderequirements.txt- Package dependencies
Module Architecture
The application uses a modular architecture:
wikimedia.py - Core module with all Wikimedia API functions:
- Handles all direct API calls to various Wikimedia services
- Provides error handling and consistent response formatting
- Centralizes logging and request management
- Offers a unified search function across all Wikimedia sources
ai.py and wikifit_basic.py - Application entry points:
- Import functions from wikimedia module
- Apply caching for performance optimization
- Handle UI/UX and user interaction
- Provide feature-specific functionality
Requirements
- Python 3.7+
- Core: Streamlit, Requests, Pandas, NumPy
- Optional: Transformers, PyTorch
Notes
- This application is for educational purposes only
- The AI health advice should not replace professional medical consultation
- Session state is used to track progress across app restarts