Skip to content

Core Technologies

GamiBot separates Moodle integration from the services that process course files and generate chat responses.

ComponentCurrent technologyRole
Moodle integrationlocal_gamibot_manager and block_gamibotCourse chat, settings and a paced queue for File and Folder changes
Workflow toolLangflowClarify, Summarize and Quiz flows
Language modelQwen3.5 served by vLLMGenerates responses for the hosted flows
File processingDoclingProcesses course files at the ingestion service
Embeddingsnomic-text model served by OllamaConverts processed text into vectors
Vector databaseQdrantStores and searches indexed course material

How the components connect

  1. In an enabled Moodle course, File and Folder changes enter the Manager plugin's site-wide queue. Moodle cron gradually sends notifications to the configured ingestion endpoint.
  2. The receiving service retrieves the file from Moodle, uses Docling for file processing, produces nomic-text embeddings through Ollama and maintains the index in Qdrant.
  3. The Chat block sends a Clarify, Summarize or Quiz request through the Manager plugin to Langflow. The hosted flows use Qwen3.5 served by vLLM. Retrieval of indexed course material is controlled by those flows.

The Moodle plugin owns the standard Langflow endpoints and input IDs. An administrator configures one shared Langflow API key; the ingestion endpoint and webhook secret are separate settings. See Moodle setup and Langflow connections.

This component list does not specify a Qwen3.5 model size, a precise Ollama model identifier, supported document formats, vector dimensions, chunking rules, prompts or server sizing. Those details depend on the deployed services and must be checked there.

See Data ingestion for queue behavior and deployment architecture for the system boundary.

Released under the MIT License.