AttendingAI - AI-Powered Answer Assessment for Anki
Version: 1.00
Size: ~28MB (lite) | ~163MB (with neural embeddings)
Anki Version: 25.02.6+ (Python 3.9)
Requires a Local or Cloud-Based LLM (Recommended: Ollama)
What is AttendingAI?
AttendingAI transforms Anki into an intelligent study companion by providing:
- β
AI-Powered Grading - Get instant, detailed feedback on your answers
- β
Semantic RAG - Retrieves relevant sections from your uploaded materials
- β
Tutor Mode - Interactive learning assistant that explains concepts
- β
Smart Analytics - Track weak concepts and learning patterns
- β
Batch Assessment - Process multiple cards efficiently
Quick Start
- Install: Tools β Add-ons β Install from file
- Restart: Close and reopen Anki
- Start Using: Press W during review or right-click β Assess Answer
That's it! Semantic search (TF-IDF) works immediately with zero setup.
Key Features
π― Intelligent Grading
- Understands partial credit and medical terminology
- Provides detailed feedback with rubric scores
- Adjusts Anki intervals based on understanding
π Semantic Material Retrieval (RAG)
- Upload PDFs and DOCX files for your decks
- Automatically retrieves relevant sections during grading
- TF-IDF included - Works out-of-the-box, no dependencies
- Optional: Neural embeddings - 10-15% better for power users
π§βπ« Tutor Mode
- Ask follow-up questions about your answers
- Get explanations tailored to your course materials
- Track conversation context for personalized learning
π Advanced Analytics
- Identify weak concepts across your deck
- Generate review decks targeting weak areas
- Track progress over time
Installation Options
Default (Recommended)
Size: ~28MB | Setup: 1 minute | Quality: 85-90%
Just install the add-on - everything works immediately!
With Neural Embeddings (Optional)
Size: ~163MB total | Setup: 5 minutes | Quality: 95-100%
For power users who want maximum semantic understanding:
# Windows
py -3.9 -m pip install --target "%APPDATA%\Anki2\addons21\attending_ai\vendor" fastembed==0.4.2 onnxruntime==1.19.2
# Mac
python3.9 -m pip install --target "~/Library/Application Support/Anki2/addons21/attending_ai/vendor" fastembed==0.4.2 onnxruntime==1.19.2
# Linux
python3.9 -m pip install --target "~/.local/share/Anki2/addons21/attending_ai/vendor" fastembed==0.4.2 onnxruntime==1.19.2
See INSTALLATION.md for complete instructions.
How It Works
During Review
- Answer a card (write your response)
- Press W or right-click β Assess Answer
- AttendingAI:
- Retrieves relevant sections from your uploaded materials
- Grades your answer with detailed feedback
- Provides a rubric breakdown
- Suggests an Anki interval
- Accept or modify the suggested grade
Semantic Search (RAG)
- TF-IDF (default): Keyword-based retrieval, instant, zero setup
- Neural (optional): Context-aware understanding, better for varied terminology
- Auto-fallback: Switches to TF-IDF if neural unavailable
Documentation
Requirements
- Anki: 25.02.6 or higher (Python 3.9)
- Platform: Windows, macOS, Linux
- Optional: Python 3.9 for neural embeddings installation
What's Included?
Core Files:
- All Python modules for grading, RAG, tutoring, analytics
- TF-IDF implementation (zero dependencies)
- Hybrid fallback system
- PDF and DOCX parsing
- Documentation
Vendor Dependencies (~28MB):
- PyPDF2, python-docx (document parsing)
- nltk, lxml (text processing)
- requests, certifi (HTTP client)
- coloredlogs, click (utilities)
NOT Included (Install Separately):
- FastEmbed (neural embeddings) - ~70KB + 135MB deps
- ONNX Runtime (inference engine) - ~11MB
Technical Details
Semantic Search Methods
TF-IDF (Default):
- Pure Python implementation
- Term Frequency-Inverse Document Frequency
- Cosine similarity for relevance
- 85-90% quality, instant retrieval
- Zero external dependencies
Neural (Optional):
- FastEmbed with ONNX Runtime
- Model: BAAI/bge-small-en-v1.5 (384 dimensions)
- Context-aware semantic understanding
- 95-100% quality, 2-5s first run
- Requires ~135MB installation
Database
- SQLite3 for materials and embeddings
- Efficient storage with float32 precision
- Automatic indexing for fast retrieval
License
AttendingAI is Copyright (c) 2025 Matthew Palmieri
AttendingAI is free and open-source. The add-on code that runs within Anki is released under the GNU AGPLv3 license, extended by a number of additional terms. For more information please see the LICENSE file that accompanied this program.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY.
Credits
Built with:
- FastEmbed - ONNX-based embeddings by Qdrant
- ONNX Runtime - Fast inference by Microsoft
- BAAI/bge-small-en-v1.5 - State-of-the-art retrieval model
- Anki - Spaced repetition system
Troubleshooting
Common Issues
"API Key Invalid" Error
- Verify your API key is correct in Settings β LLM Configuration
- Ensure you have an active subscription with your LLM provider
- Check that the API endpoint URL is correct
"No embeddings found" Warning
- Upload course materials first (Settings β Materials)
- Wait for embedding generation to complete
- Check storage permissions for AttendingAI user data
Grading Takes Too Long
- Reduce max_tokens in LLM settings
- Use faster LLM model (e.g., GPT-4o-mini instead of GPT-4o)
- Disable multimodal processing if not needed
Images Not Being Analyzed
- Verify "Enable Vision Grading" is checked in Settings
- Ensure images are in supported formats (PNG, JPG, WebP)
- Check that image fields are correctly configured
Materials Not Being Retrieved
- Check that materials were successfully uploaded
- Verify embeddings were generated (check database file size)
- Try increasing RAG top_k value in settings
- Ensure materials are associated with the correct deck
Getting Help
- Check the FAQ below
- Review INSTALLATION.md for setup issues
- Check docs/ folder for detailed guides
- File an issue on GitHub with error details
FAQ
Q: What LLM providers are supported?
A: OpenAI (GPT-4o, GPT-4o-mini), Anthropic (Claude 3.5 Sonnet), OpenRouter (various models), and any OpenAI-compatible API.
Q: Can I use this offline?
A: No, AttendingAI requires internet connection to access LLM APIs for grading.
Q: How much does it cost to use?
A: AttendingAI itself is free and open source, but you need your own API key and will incur costs from your LLM provider (typically $0.001-0.01 per card assessment).
Q: Is my data private?
A: Your flashcard content is sent to your chosen LLM provider's API. Review their privacy policy. Data is not stored by AttendingAI beyond local analytics in your Anki profile.
Q: Can I customize the grading rubric?
A: Yes! Go to Settings β Tone & Style to adjust grading strictness and tone. You can also configure deck-specific rubrics.
Q: What file formats are supported for materials?
A: PDF, DOCX, and TXT files. Materials are chunked and embedded for RAG retrieval.
Q: Do I need neural embeddings?
A: No. TF-IDF (included by default) works well for most users. Neural embeddings provide 10-15% better retrieval quality but require additional setup.
Q: Can I use this with my existing Anki collection?
A: Yes! AttendingAI works with any Anki deck. Just answer cards normally and press W to grade your response.
Q: Does this change my Anki scheduling?
A: Only if you choose to apply the suggested grade. You always have full control over the final grade applied to your card.
Q: What languages are supported?
A: AttendingAI primarily supports English. Other languages may work but accuracy depends on your LLM provider's capabilities.
Support
For issues, questions, or feedback:
- Check the FAQ above
- Check documentation in docs/ folder
- Review troubleshooting in INSTALLATION.md
- File an issue on GitHub: https://github.com/matthewpalmieri02/AttendingAI/issues