I have some questions about the AI subsystem. I use AI in a lot of places in my plugins. I route almost all requests to my own servers and completely bypass the AI subsystem. Partly because this process pre-dates the AI subsystem. And partly because I don't think the AI subsystem does what I need (thats what my questions will be about). But I do want to use it, and ideally I could begin the process of allowing users to route AI requests via the subsystem if they preferred to.
As a representative example of a use case - in Poodll Wordcards we need pictures for the WordCards. So I wanted to use the subsystem, and I made a placement plugin so we could generate images. That worked. But then I went back to the old way.
Question 1) Do we really need a placement plugin for each place we want to generate a image?
(clarification: This is not about using the HTML editor.) I mean, do we need one for Poodll WordCards and one for Poodll MiniLesson and one the Moodle repository etc.
Is that really the case? If not, cool. Please tell me what to do instead.
If however it is the case. I don't mind coding a few lightweight plugins. I kind of mind having to maintain them on the plugins directory and through each Moodle version update. I do mind having to get my users to install new plugins for what are basically features.
Perhaps my needs are some sort of edge case and the html editor is fine for most people. But how about:
- The file manager - of course we need image generation there.
- Automated generation content - Poodll has an AI lesson builder it takes a few prompts and goes off builds incredible lessons with loads of images and audio. Most mods will have something like that soon.
- Bulk image generation - making 10 images in series is slow. Making 10 images in parallel is fast.
And that is just images. In fact text generation is a bigger issue. Basically most of my plugins will need a companion AI placement plugin. It seems too much. A hook or callback feature seems more appropriate.
Question 2) How about all the other AI things we need to do?
A few examples:
- give students feedback on their submission.
- give students a score on their submission
- modify previously generated images
- transcribe speech.
Most of this is programmatic use of AI. Trying to know in advance what kind of AI action is required and make it available as a placement, seems like forever playing catch up. Thats partly because we don't know what we don't know. And partly because AI is advancing at such a rate new functionality is arriving regularly. The list could just get really really long.
How do we get new actions into the system? I need all of those things now.
Is it possible to have a catch all that allows us to effectively use the engines creds and supply our own implementation of the request and response handling? I mean, I am sure we can do that now, but I do want to play by the rules. Is that against the rules?