Skip to content

tran4code/auto_anki

 
 

Repository files navigation

Auto Anki

ForTheBadge built-with-love

Github Build Status DOI codecov PEP8 GitHub license GitHub issues GitHub issues-closed PRs Welcome version Test Cases Test Cases

Table of Contents
  1. Why should you use Auto Anki?
  2. Check out the video!
  3. Sucessful usecases
  4. Installation
  5. Code Documentation
  6. How to Contribute
  7. Future RoadMap
  8. Contact us(Contributors)
  9. Project's Funding
  10. Acknowledgements
  11. Recommended citation

Introducing Auto Anki – Your Ultimate Flashcard Companion Powered by ChatGPT 4!

Auto Anki revolutionizes your learning experience by effortlessly transforming your lecture materials into highly accurate and effective flashcards. This version of Auto Anki incorporates the advanced capabilities of ChatGPT 4, ensuring precision and relevance in every flashcard.

Auto Anki, building upon the intelligent Anki flashcard platform Anki , generates flashcards from your lectures, making studying a breeze. It's the perfect tool for anyone who struggles to memorize class concepts, faces revision challenges, or simply prefers a more convenient note-taking approach.

Here's what Auto Anki with ChatGPT 4 can do for you:

Extract crucial concepts from your lectures and generate questions based on them. Search the web for the most relevant answers, guaranteeing the accuracy of your flashcards. Utilize Anki's robust features, allowing you to rate the difficulty level of each question, making tough concepts easier to memorize.

Why should you choose Auto Anki with ChatGPT 4?

Summarize entire lectures into flashcards, perfect for memorization. Eliminate the manual effort of creating lecture flashcards in Anki. Break down lecture PDFs into concise and effective question-and-answer pairs. Create straightforward flashcards for effortless memorization and revision. Auto Anki 4.0 is here to enhance your study experience and empower your academic success! 😊

Quick Start

Install Auto-Anki with ChatGPT, provide your study lectures or documents, and your APKG file will be ready! You can import it into the Anki application and dive into your materials. It's quick and easy peasy!

Here's a series of pictures to demonstrate the features we've added and how to use them:

First Feature: Enhanced User Interface

We've revamped the user interface and introduced a convenient drop-down menu, this was not available in the previous version. Also we improved overall appereance.

Second Feature: ChatGPT Integration

To provide more accurate answers, we integrated the ChatGPT API. Now, users can generate highly precise flashcards with Auto-Anki powered by ChatGPT. In the [revious version they could only use google(people aslo asked answers) to generate flash cards.

When you run Auto-Anki, you'll be greeted by this user-friendly interface where you can choose between Google or ChatGPT to generate your flashcards.

Here, you can upload your document:

It produces an APKG file, and with the Anki application, you can open it and enjoy a new and enhanced studying experience.

Check out the video!

VLXXBKO81NETJSWX.mp4

Successful usecases

🎉️ Case study : Kimia

Background: Student majoring in Computer Science

Scenario:

  • Kimia was struggling with managing large amounts of information from complex textbooks.
  • Kimia started using Auto-Anki with ChatGPT to extract key content from PDF textbooks and create flashcards automatically.
  • Result: Kimia noticed a significant improvement in her ability to absorb and retain information. Kimia achieved a good grade in her Software Engineering midterm exam and now has more free time for other activities.

🎉️ Case Study: Language Learning

User: Mohammed

Background: Language Enthusiast

Scenario:

  • Mohammed was passionate about learning new languages and wanted to create flashcards to improve his vocabulary.
  • He used Auto-Anki with ChatGPT to extract phrases and sentences from Spanish language textbooks and websites.
  • Result: Mohammed could expand his vocabulary and language skills in only 2 weeks that he has used Auto-Anki, making his conversations more fluent and enjoyable.

Installation

  1. Clone the repository git clone https://github.com/tran4code/auto_anki
  2. Set up a virtual environment (Optional, but highly recommended):
    • Create the virtual environment: python -m venv myenv
    • Activate the virtual environment: source myenv/bin/activate.
    • Note: In future runs, you won't need to create the virtual environment again, just activate it.
  3. Install all required packages: pip install -r requirements.txt
  4. Download a required model: python -m spacy download en_core_web_lg
  5. Install the project as a Python package: pip install .
  6. Clone the Anki library git clone https://github.com/kerrickstaley/genanki
  7. Navigate into the cloned directory: cd genanki
  8. Install the Anki library python setup.py install
  9. The command to run the project is: python3 code/ui.py

Code Documentation

Documentation of the entire codebase is generated using Pycco. You can find the documentation here.

If you are a developer, and want to update documentation:

  • Install Pycco pip install pycco
  • Use Pycco to generate docs. pycco auto_anki/**/*.py -p

Code Coverage

For checking code coverage,

  • Install Coverage (https://pypi.org/project/coverage/) pip install coverage
  • For generating the report run coverage run user_cli.py
  • For viewing the report run coverage report
Name Stmts Miss Cover
anki.py 14 3 83%
extract_sizes.py 55 6 89%
google_search.py 13 2 87%
user_cli.py 53 7 87%
wordprocessing.py 125 23 81%
TOTAL 260 57 85%

How to Contribute

We would be happy to receive contributions! If you'd like to, please go through our CONTRIBUTING.md.

For any feedback, issues, or bug reports, please create an issue here.

Future RoadMap

Build a browser extension with the current functionality

  • A browser extension which will extract contents of the current webpage which the user is on and produce a new deck of anki cards based on the material.

Improve word extraction logic

  • Currently Spacy is being used to extract noun phrases from each slide/page of the document. Then the high frequency noun phrases are calculated and used in the final search query. However this causes an issue when every slide has the document’s author name and email address listed. The author name is considered as a noun phrase, and since it appears on every slide has a high frequency, and thus appears on the final search query.

Contact us(Contributors):

We are here to support you. Feel free to email us with any question or bug reports. We try our best to reply as soon as possible.

Project's funding

Our project is currently not funded, and we operate on a volunteer and open-source basis , and currently,improvement of the project solely relies on the dedication of our team and contributions from the open-source community.

Acknowledgements

We have built this code on top of the stack from the project https://github.com/tran4code/auto_anki

Recommended citation

You can cite us like this:

Auto-Anki with ChatGPT. Version 1.0. Keith Tran,Benyamin Tabarsi, Kimia Fazeli, Mohammed Fazian. 2023. [https://github.com/tran4code/auto_anki]

About

Create anki cards for all your lectures.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 100.0%