Skip to main content
Version: main (5.0)

AI Plugins

The AI subsystem provides a way for developers to integrate external AI services into Moodle LMS.

The design of the AI subsystem features two distinct plugin types:

This design allows for independent development of each plugin. The Provider plugin is not aware of the Placement plugin, and the Placement plugin is not aware of the Provider plugin. All communication between the two plugins travels through the Manager.

Provider plugins

Providers are the interface between the AI subsystem and external AI. Their focus is on formatting actions, passing them to the external AI system, and providing the response.

Currently, Moodle supports the following AI Providers in core:

  • OpenAI aiprovider_openai
  • Azure AI aiprovider_azureai

See the Providers documentation for more information on developing Provider plugins.

Placement plugins

Placements provide a consistent UX and UI for users when they use AI backed functionality (e.g. generating an image).

Placement plugins leverage the functionality of the other components of the AI subsystem. This means plugin authors can focus on how users interact with the AI functionality, without needing to implement the AI functionality itself.

Because Placements are plugins in their own right, it allows for greater flexibility in how AI functionality is presented to users.

Currently, Moodle supports the following AI Placements:

  • Course Assistance aiplacement_courseassist
  • HTML Text Editor aiplacement_editor

See the Placements documentation for more information on developing Placement plugins.