Code Monkey home page Code Monkey logo

anki-quick-ai's Introduction

Anki Quick AI

This add-on is actively developing. Configuration parameters may be changed when the add-on was updated, but Anki does not automatically change the old configuration.

After updating the add-on, please go to the add-on configuration page and click "Restore Defaults". Sorry for the inconvenience!

The Anki Quick AI Addon is a powerful tool that lets you interact with OpenAI in Anki. It allows you to quickly collect field values from notes, interact with OpenAI using customized prompts in multiple languages, and show and play audio responses.

Features:

  1. Find & collect field values from Anki's notes.

  2. Interact with OpenAI using custom prompts. Multiple interactions are supported.

  3. Show & play audio of responses from OpenAI.

Example Usage

  1. Words story: Retrieve words studied today in Anki, and send them to OpenAI to ask it to make a story using these words. Print the story and generate the audio files.
words_story_example.mp4

Install

It has been submitted to Anki add-ons Anki Quick AI. The code is 547821970.

To install it, click "Tools->Add-ons->Get Add-ons". In the Code section, input 547821970, and then click OK.

Usage

Please configure the add-on before the first time you use it.

There are several ways to run the add-on:

  1. Click the Tools button on the menu bar in the main Anki window, and then click Anki Quick AI. Wait for seconds for AI generation and transmission between OpenAI and your local machine. If you also generate the sound, then it may take other seconds for sound generation.

  2. In the Browse window, click the Anki Quick AI button on the menu bar.

  3. If shortcut is set, you can use it to run the add-on. The default shortcut is Alt+A.

  4. If automatic_display is set to be true, then the add-on will automatically run if you change to the main deck window. For example, when you finish one deck, or when you change to the deck window from the study window.

Settings

Double click "Tools->Add-ons->Anki Quick AI", and a config page will show. Some of the parameters may be effective after restarting Anki. You should add "api_key" and "model" in the "AI" tag of the config page.

Hover your mouse for tooltips of parameters in the configuration window.

For usage, you should create your default prompt settings in the "prompt" tag of the config page. The settings are the following:

  1. Prompt Name: A name for this prompt configuration.
  2. Default Browse Query: Query used to search for notes. The query grammar is the same as Anki browse, which can be found in the official manual.
  3. Note Field Configuration: Only note values with the specified fields will be selected. "Other Note Type" will be used for unspecified note types.
  4. Prompt: A list of prompts that will be sent to OpenAI. In the prompt, you can use custom placeholders, which are sandwiched with #, e.x., #language#. Placeholders will be replaced before sending to OpenAI. It is designed for you to quickly change the prompt.
    1. #field_value#: This is a keyword. This will be replaced with a list of strings, which are values of the note_field in notes searched by query.
    2. #response#: This is a keyword. This will be replaced with the previous response from OpenAI.
    3. #language#: This is a keyword. This will be replaced with language_list in the settings. See below.
    4. #custom#: You can specify your custom placeholder. This will be replaced with the value you set in placeholder, see below. Do not specify "field_value", "response", or "language" as the name, since they have their special usage.
  5. placeholder: A dict contains customized placeholders. The key is the name of the placeholder. The value is another dict, whose key is the index of the prompt that will be replaced, and the value is the string to replace the placeholder. You cannot and do not need to specify "field_value", "response", or "language". 6.language: Languages for the generated audio.

Setup (Optional)

add-on/lib contains third-party libraries that are not supported by Anki. Currently, Anki add-ons require third-party libraries to be bundled with the source code.

Update third-party libraries:

cd add-on
pip install -r requirements.txt --target lib

Change Log

Please find in CHANGELOG.md.

Local Usage (Deprecated)

It also provides a local Python program for this in src, but this is not maintained anymore. The latest version is to use the Anki add-on.

License

This repository is under AGPL 3.0 required by AnkiWeb for Anki Add-on.

Acknowledgement

Thanks for the inspiration and code in yihong0618/duolingo_remember and yihong0618/shanbay_remember.

Thanks for BlueGreenMagick/ankiaddonconfig for configuration window.

anki-quick-ai's People

Contributors

chuanqixu avatar

Watchers

 avatar

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.