Skip to content
Sudhendra edited this page Oct 18, 2024 · 1 revision

Step 1 Buddy Wiki

Introduction

Step 1 Buddy is an AI-powered application designed to assist medical students in their preparation for the USMLE Step 1 exam. The app uses natural language processing and machine learning techniques to provide relevant information from video lectures based on user queries.

Features

  • Topic-based question answering
  • Retrieval of relevant passages from video lectures
  • AI-generated answers using OpenAI's GPT-4
  • Frame extraction from videos at specific timestamps
  • User feedback collection

Installation

  1. Clone the repository:

    git clone https://github.com/Sudhendra/step1_buddy.git
    cd step1-buddy
    
  2. Install the required dependencies:

    pip install -r requirements.txt
    
  3. Set up your OpenAI API key as an environment variable or input it in the app's sidebar.

Usage

Run the Streamlit app:

streamlit run app.py

Navigate to the provided local URL in your web browser to use the application.

Technical Details

Main Application (medapp.py)

The main application file medapp.py contains the core functionality of Step 1 Buddy. Key components include:

  • Initialization of OpenAI client and SentenceTransformer model
  • Data loading and preprocessing
  • Answer generation using GPT-4
  • User interface using Streamlit

Data Processing

The application processes video data stored in JSON format for each medical topic.

Answer Generation

The app uses OpenAI's GPT-4 to generate answers based on user queries and relevant context.

User Interface

The Streamlit-based user interface allows users to select topics, input questions, and view generated answers along with relevant video frames.

Continuous Integration and Deployment

The project uses GitHub Actions for CI/CD, defined in .github/workflows/step1workflow.yml.

Data

The application uses video data stored in JSON format in the data directory for various medical topics.

Disclosures and Licensing

Important disclosures about the content source, licensing, and future updates are available in the disclosures.txt file. The project is protected by license, and permission is required for use in personal or commercial projects.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Future Roadmap

For the next release, the following features are planned:

  1. Mindmap/dependency graph/tree of knowledge for each query

    • Visual representation of relationships between different concepts related to a user's query.
    • Helps users understand interconnections between various medical topics.
  2. Summary and analysis of tree of knowledge

    • Concise overview of the knowledge structure generated for each query.
    • Includes key concepts, their relationships, and potential areas for further study.
  3. Enhanced video content integration

  4. User progress tracking

  5. Mobile app development

  6. Expanded topic coverage

  7. Collaborative study features

Disclaimer

This application is for educational purposes only and should not be used as a substitute for professional medical advice, diagnosis, or treatment.