Hi everyone,
the anticipation is growing beyond measure! Can't wait to head to Zürich!
So here's my pitch:
Introduction
Some of you might have heard of the AI plugins bundle which we (the team of the "ByCS Lernplattform" - formely known as "mebis") developed:
- https://moodle.org/plugins/local_ai_manager
- https://moodle.org/plugins/tiny_ai
- https://moodle.org/plugins/block_ai_chat
- https://moodle.org/plugins/block_ai_control
- https://moodle.org/plugins/mod_aichat
- https://moodle.org/plugins/qbank_questiongen (a continued development based on the work of Yedidia Klein and Heikki Wilenius)
- https://moodle.org/plugins/moodle-qtype_aitext (not ours, but the one of Marcus Green which is compatible with local_ai_manager)
- https://moodle.org/plugins/quizaccess_ai
- https://moodle.org/plugins/local_ai_injection (includes a plugin for generating ALT text in the tiny editor picture insertion dialog)
- ... more to come
What we're still missing, but is heavily requested from our user base, is having course content as context in the AI utils, especially the AI chat. The qbank_questiongen plugin already does that in some way, but it's not really satisfactory. What really would be beneficial is having "access" to the course content (and even more, "global" content) and be able to do this in a way that does not just bloat the context of the model by inserting the extracted text of all the 100 PDFs with 100 pages each into the context window of the external LLM.
RAG functionality has already been discussed in this forum and there are already existing proof of concepts or even stable plugins that are doing some kind of RAG. However, we want the RAG to be deeply integrated in both our tools, be configured in the same user interface where the configuration in the AI manager plugin is already happening, and - and that is currently an open issue - into moodle.
So here comes the pitching part:
- Take the work that Michael Hughes already did as proof of concept as starting point (
- Integrate it in a way that it fits into the current local_ai_manager architecture
- Develop a frontend extension for our AI chat plugin so teachers can configure what content should be indexed by the RAG system
- Develop a general Moodle API for plugins (this would be a core contribution), so plugins itself can control and eventually provide the content to a RAG indexing system, because that's what we're really lacking currently.
Some additional explanation on the moodle contribution part:
- RAG means that content is being indexed and stored in an external vector store.
- But which data is "THE" data of a plugin / activity instance?
- For example, a "lesson" activity has some internal database tables. Some of the information is usable for RAG, some is not. Each plugin has to decide what content it exposes and at what conditions.
- So there is the need of a Moodle API to allow (activity) plugins to provide this content whenever AI wants to access content (does not matter if for RAG purposes or just for direct context retrieving).
What we're hoping to have at the end of the dev camp:
- A chatbot (we already do have that) in which you can define the context that is being added from the RAG system (we do not have that part yet)
- A user interface in which you can select which activities of a course should be indexed.
- A backend system that is indexing/embedding the selected activities.
- Chat with an AI model that generates responses based on a lookup of information from the previously filled vector store
- If we got a lot of time and developer capabilities: Maybe also have global RAG content (moodle docs etc.) which can also be used in the chatbot.
What we need
- (Backend) Developers
- Frontend designers
- Testers and "users"
- Lots of coffee
- The MoodlemootDACH spirit to make it happen!
If you are interested, join the group, you do not need to have any prior experience!
Looking forward to see you in Zürich!
Philipp