Skip to content

Automating language learning with the power of Artificial Intelligence. This repository presents FluentAI, a tool that combines Fluent Forever techniques with AI-driven automation. It streamlines the process of creating Anki flashcards, making language acquisition faster and more efficient.

License

Notifications You must be signed in to change notification settings

StephanAkkerman/FluentAI

Repository files navigation

FluentAI: Learn languages in a flash

FluentAI Banner

Supported versions License Code style: black Discord Shield


Caution

This project is currently under development, please see the issues to see everything that still needs to be done before this is ready to use.

Introduction

FluentAI is inspired by the method detailed in the paper SmartPhone: Exploring Keyword Mnemonic with Auto-generated Verbal and Visual Cues by Jaewook Lee and Andrew Lan. The aim is to recreate their approach using accessible, open-source models. The pipeline they propose, as shown below, serves as the blueprint for our project. It illustrates the process of automating language learning, blending cutting-edge AI techniques with proven language learning methodology.

image

You can find our docs here and the list of supported languages here.

Table of Contents 🗂

Prerequisites 📋

Before starting, make sure you have the following requirements:

  • Anki installed on your device.
  • Anki-Connect This add-on allows you to add cards to Anki from the command line.
  • Python 3.10 installed on your device.
  • React installed on your device (optional).

Installation ⚙️

Using pip

We have bundled all required dependencies into a package for easy installation. To get started, simply run one of the following commands:

pip install .

or install directly from the repository:

pip install git+https://github.com/StephanAkkerman/FluentAI.git

Building from Source

If you prefer to build from source, follow these steps:

  1. Clone the repository:

    git clone https://github.com/StephanAkkerman/FluentAI.git
  2. Navigate to the project directory:

    cd FluentAI
  3. Install the dependencies:

    pip install -r requirements.txt

Install with GPU Support (Recommended)

If you would like to run the code on a GPU, you can install the torch package with CUDA support. After installing the required dependencies, run the following command:

pip install -r requirements/gpu.txt

Usage ⌨️

Using FluentAI is simple, after following the steps in pre-requisites you can start the back-end by executing the following command.

python fluentai/services/card_gen/api.py

Running the Front-End (Optional)

If you would like to build the front-end yourself you can do so by executing these commands.

  1. Navigate to the frontend directory:

    cd fluentai/frontend
  2. Install the necessary frontend dependencies:

    npm install
  3. Start the development server:

    npm start

This will launch the front-end and connect it to the API for a seamless user experience.

Citation ✍️

If you use this project in your research, please cite as follows:

@misc{FluentAI,
  author  = {Stephan Akkerman, Winston Lam, Tim Koornstra},
  title   = {FluentAI},
  year    = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/StephanAkkerman/FluentAI}}
}

Contributing 🛠

Contributions are welcome! If you have a feature request, bug report, or proposal for code refactoring, please feel free to open an issue on GitHub. We appreciate your help in improving this project. If you would like to make code contributions yourself, please read CONTRIBUTING.MD.
https://github.com/StephanAkkerman/FluentAI/graphs/contributors

License 📜

This project is licensed under the MIT License. See the LICENSE file for details.

About

Automating language learning with the power of Artificial Intelligence. This repository presents FluentAI, a tool that combines Fluent Forever techniques with AI-driven automation. It streamlines the process of creating Anki flashcards, making language acquisition faster and more efficient.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published