Git Product home page Git Product logo

marawanyakout / gemini-ai-quizify Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 25 KB

This tool aims to provide users with instant feedback and comprehensive explanations, by dynamically generating quizzes based on user-provided documents, ranging from textbooks to scholarly papers, the tool offers a tailored learning experience. Facilitating deeper comprehension and retention of modern knowledge.

Python 100.00%
ai google-api google-gemini-ai machine-learning vertex-ai

gemini-ai-quizify's Introduction

Gemini-AI-Quizify

This project implements a Quiz Builder using various technologies such as Google Gemini, Vertex AI API, embeddings, Google Service Account, Langchain, PDF loader, and Streamlit. The project is part of the challenges provided by Radical AI, with contributions to specific implementation steps.

Description

The Quiz Builder generates quizzes from input documents and user-provided topics. It uses machine learning models for text embeddings, with Google's Gemini and Vertex AI API for document processing and quiz generation. The project also includes a Streamlit-based user interface for an interactive and user-friendly experience.

Tasks

By implementing the script files, the following tasks are covered:

  1. Document Processing: Utilizing Google Gemini for document processing.
  2. Text Embeddings: Generating embeddings with Langchain.
  3. Authentication: Integrating Google Service Account for secure API access.
  4. PDF Ingestion: Loading documents using a PDF loader.
  5. User Interface: Building an interface with Streamlit.
  6. Quiz Generation: Creating quizzes based on user-specified topics.
  7. Answer Explanations: Providing detailed explanations for quiz answers.
  8. Navigation Controls: Implementing navigation within the quiz interface.
  9. Error Handling: Ensuring robust error handling and validation.
  10. Deployment: Considering packaging and deployment strategies.

Installation

To set up the Quiz Builder:

  1. Clone the repository:

    git clone <repository-url>
    
  2. Navigate to the project directory:

  3. Install the necessary dependencies:

    pip install -r requirements.txt
  4. Replace Project ID with Unique Project ID from desired AI model (In this model vertex AI Google Gemini was used over google cloud server)

Usage

To run the Quiz Builder:

  1. Start the Streamlit application:
     streamlit run <your_script>.py
    

Replace <your_script> with the name of the Python script you want to run.

Follow the instructions in the Streamlit interface to interact with the Quiz Builder.

Program Structure

Embedding Client

Screenshot 2024-07-22 042511

Docoment Ingestion

Ilustration 1

Quiz Generation

Quiz Generator

Generate Quiz Algorithm

algorithm

Screen State Handling

Screen handeling

Questions Layout

Tested Questions on Books

Example of the Program Output

Quiz Generation 2

Contributiions

If you would like to contribute to this project, please fork the repository and create a pull request with your changes. Ensure your code follows the project's style and guidelines.

Acknowledgments

This project is based on mission-quizify, developed by radicalxdev. We thank them for providing the foundation for this project.

gemini-ai-quizify's People

Contributors

marawanyakout avatar

Stargazers

 avatar

Watchers

Kostas Georgiou avatar  avatar

Forkers

elsieliuliu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.