wikifit / src /README.md
KarthikGarlapati's picture
Upload 9 files
b70c076 verified

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

  1. Clone the repository
  2. Create a virtual environment (recommended):
    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. Install core dependencies:
    pip install streamlit requests pandas numpy
    
  4. For AI features, install additional dependencies:
    pip install transformers torch
    
  5. 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 capabilities
  • wikifit_basic.py - Simplified version without AI dependencies
  • wikimedia.py - Core module containing all Wikimedia API integrations
  • wiki.py - Backward-compatibility adapter for existing code
  • requirements.txt - Package dependencies

Module Architecture

The application uses a modular architecture:

  1. 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
  2. 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