Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-80889

AI Subsystem: LMS


    • Icon: New Feature New Feature
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None
    • Future Dev
    • Administration
    • None

      Implement the initial AI subsystem into Moodle LMS. 

      Working to the guide that the AI subsystem will: provide a consistent and user-friendly way for users to interact with AI in Moodle's user interface, as they do their teaching and learning activities. As well as providing a straightforward way to integrate with various AI providers on the backend.

      An overview of the approach is as follows:


      Broadly the AI subsystem will provide several "Placements". These placements will be UI elements (and associated workflows) in specific user contexts, that will allow users to interact with AI services connected to Moodle LMS. For example when a teacher creates course content, or when a student is interacting with their course content. Placements will also be LMS plugins, allowing for placements to be added overtime and developed by the community.

      The available Placements will allow users to access one or more AI "Actions". These actions are provided by the AI services connected to LMS and are the specific things a user can do. For example when creating course content a teacher could access an action to create an image. Or for students they could use an action to summarise complex text.

      The available Actions will be determined by which AI "Providers" the LMS instance is connected to. These providers are connected to LMS via "Provider Plugins". Each provider plugin will make available one or more actions to the LMS. For example a plugin that connects to the OpenAI API could provide an action that summarises text. OR a Midjourney provider plugin could provide an action to generate an image.

      To help separate out the design and development activities there are individual (linked) trackers to cover: Placements, Actions and Providers.
      The initial subsystem should include some of these, with more to be added overtime. The exact combination will be decided as part of the design and discovery processes. 


      A incomplete example list of actions for the API to provide. These will evolve over time and will initially start with a small subset.

      • Generate: Generate text content based on user prompt text
      • Interact: Provide a two way (conversational) interface for users to interact and query an AI model
      • Summarise: Summarise the provided text. Condense long text into key points. Simplify anything too complex for learners to understand.
      • Explain: Explain the provided text. Clarify complex concepts or terms. Your aim is to make it easy for learners to understand.
      • Question ask: Generate questions from the provided text.
      • Question answer: Answer questions about the provided text.
      • Translate: Translate the provided text into another language.
      • Images: Generate images to illustrate the provided text.
      • Chatbot: Provides a 2 way synchronous interaction in a conversational Q&A manner

      "Bi-directional" data Transfer

      There will be a need to provide contextual information such as course, user and LMS instance information to an AI integration along with the explicit data provided as part of a request via an Action. 

      Initially this can be basic based on the available contextual information. However, as the implementation evolves this will require more complete semantic information to be provided. To facilitate this, there will need to be a way to extract and collate this information from the LMS. An existing possible candidate for this is the Search API that powers the Global Search functionality in LMS. This suitability should be investigated as part of this work (related: MDL-71988).

            matt.porritt@moodle.com Matt Porritt
            matt.porritt@moodle.com Matt Porritt
            4 Vote for this issue
            16 Start watching this issue


                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.