Configuration Guide#

This guide walks you through the essential configuration steps to get AI workflows running in your Open edX installation.

Note

These instructions are written for site operators. You’ll need access to your site backend; it is recommend to use Tutor.

Prerequisites#

Before configuring the plugin, ensure you have:

  • Completed the plugin installation

  • Access to your Tutor configuration files (config.yml)

  • An API key from a supported LLM provider (OpenAI, Anthropic, or a local model server)

  • Django admin access to your Open edX instance

Core Concepts#

The plugin uses three main configuration concepts:

Provider

Handles authentication and model routing. Defines which AI service to use and how to connect to it.

Scope

Defines the where - the context in which an AI workflow will be visible and usable (LMS/CMS, specific course, location).

Profile

Defines the what - what the AI will be instructed to do and which information it will have access to.

Configuring Providers#

Direct Configuration in Profiles (Testing Only)#

For testing and development, you can configure the model and API key directly in the workflow profile. This approach is convenient for quick tests but is not recommended for production.

Warning

Security Risk: API keys stored in profiles are visible to users with Django admin access. Use Tutor configuration for production environments.

Add the following to your profile configuration:

{
  "processor_config": {
    "LLMProcessor": {
      "options": {
        "MODEL": "openai/gpt-4o-mini",
        "API_KEY": "sk-proj-put-your-api-key-here"
      }
    }
  }
}

Example Profile#

The plugin includes an example profile at backend/openedx_ai_extensions/workflows/profiles/base/standalone_config.json that demonstrates this approach. You can access this example in the Django admin interface at /admin/.

Self-Hosted Models#

For organizations that prefer to run their own models, the plugin has been tested with CPU-based Ollama deployments. However, for production workloads, we recommend using a proper LLM inference engine.

Tested Solutions#

Ollama Configuration Example#

AI_EXTENSIONS:
  local-llama:
    API_BASE: "http://ollama:11434"
    MODEL: "ollama/llama3.2:1b"

vLLM Configuration Example#

See the vLLM project website or their GitHub project page for more information on setting up vLLM.

Troubleshooting#

Provider Connection Issues#

If you encounter connection errors:

  • Verify API keys are correct and have proper permissions

  • For self-hosted solutions, ensure the API_BASE URL is accessible from the Open edX containers

  • Check network connectivity and firewall rules

Profile Not Appearing#

If configured profiles don’t appear in the UI:

  • Verify the scope configuration matches your current context

  • Check that the profile is active in Django admin

  • Ensure the provider referenced in the profile exists in your configuration

For additional support, visit the GitHub Issues page.