Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not an issue... #3

Open
mhughes2k opened this issue May 24, 2024 · 5 comments
Open

Not an issue... #3

mhughes2k opened this issue May 24, 2024 · 5 comments

Comments

@mhughes2k
Copy link

But just reaching out to as I've been working on some similar stuff at https://github.com/mhughes2k/moodle-local_ai with respect to Moodle AI management and RAG (https://github.com/mhughes2k/moodle-search_solrrag/) and wonder if there may be some collaboration or conversation ;-)

@PhMemmel
Copy link
Member

PhMemmel commented Aug 7, 2024

Sorry to answer that late, I have not recognized you opened this issue, because this has been more of a development repository so far..
The answer is "Yes please!". The more collaboration and conversation the better. We had internal deadlines and very specific requirements to fulfill, so we have not had time or resources for collaboration yet. But we will soon release this plugin in an alpha version which is usable also by others. Feedback and collaboration very welcome.

@mhughes2k
Copy link
Author

Really just following up here after the Moodle AI group meeting, and if there's a better place to collaborate please me know.

I've installed the code and found it to be really good, so much so I'm inclined to replace the AI provider manager I've written with this!

However as I was asking in the video chat, I'm particularly interested in RAG-sort of processes, so I'd be interested in the "purposes" area, and defining a "embeddings" purpose (i.e. using the AI provider to generate a vector representation of the text supplied).

@PhMemmel
Copy link
Member

This place is totally fine :-)

Could you elaborate more on how exactly you imagine this to work?

  • What would it look like for a teacher, so the "frontend plugin"? Some kind of block where the teacher can declare what course content should be vectorized and stored in moodledata or sth?
  • Creating a purpose subplugin "embedding" is no problem then.
  • You probably will also need a connector to connect to an external tool, for example openai embedding, but that should be easy to implement I guess.

Sorry, I do not have any experience with this kind of use case, but if you can explain in detail what you want to do and how the data flow will be, I'm happy to share how this can be done on the current implementation of the ai manager.

@mhughes2k
Copy link
Author

I've been looking at a mechanism in my AI manager plugin that injects in to Moodle activities some activity settings:

image

These allow the staff member to set conditions for AI use of that particular activity. In this case the "Allow indexing for AI" is intended to be checked by the code that indexes Moodle content, and if it's unchecked then the content of the activity/resource would not be chunked, vectorised or stored in a vector DB. (this has been injected into Moodle Activities in the lib.php.

However you can see the other settings here could also be used to influence if the other AI "actions" are permitted by the end-user (student).

The Embedding action is also covered by some of the AI APIs already (https://platform.openai.com/docs/guides/embeddings) so the embedding would be passed through to the AI provider class (if it was enabled for that instance).

@PhMemmel
Copy link
Member

Thank you for clarifying. In my head I am now just missing what to do with this, so how does the plugin for the students look like? Is this a chat bot with specific base data or how would this be used?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants