Enhancing Digital Learning & Engagement with Generative AI

Project phases

Published: December 26, 2024

Last Updated: 3 months ago.

View All Projects

The BC Ministry of Post-Secondary Education and Future Skills (PSFS) is enhancing the Digital Learning Strategy (DLS) by leveraging advanced technologies such as Generative AI (GenAI) and Large Language Models (LLMs) to provide context-specific guidance on digital learning. In partnership with UBC’s Cloud Innovation Centre (CIC) and the Digital Policy and Business Transformation Branch, the Ministry developed an AI-powered chat assistant prototype. This user-friendly tool is designed to support the post-secondary education community by offering Ministry-approved responses aligned with the DLS, including its Guidelines for Technology-Enhanced Learning and the Digital Literacy Framework. 

Approach

The prototype features a user-friendly interface designed for diverse audiences within the post-secondary system, including educators, students and administrators. Users can submit queries related to digital learning and receive customized, context specific responses derived from curated, Ministry-approved materials. Responses leverage contextual information combined with Retrieval-Augmented Generation (RAG) to deliver practical tips, enhance digital skills, and showcase best practices. Meanwhile, administrators benefit from a dedicated view that allows them to manage content flexibly, securely update resources, and incorporate new materials into the system, ensuring the tool remains relevant and aligned with the Ministry’s priorities.

Supporting Artifacts

Screenshots of UI

Administrator View

Upon logging in, the administrator will see the analytics related to users interacting with the Digital Learning Strategy. This includes the number of users by month, the number of messages sent by each role by month, and the average feedback score.

As an administrator, categories can be created and managed. Entries can be reordered by dragging and dropping the ‘move’ cell. Pressing ‘Save Order’ will save the new order of the categories.

Administrators can edit the prompt and view previous prompts for each user by clicking on the tabs. Clicking “Save” will save the modifications to the current prompt for the selected user role.

Administrators can view the different sessions that users have created in the student and educator view of the app. Clicking on a user role will open/collapse the sessions that are a part of that user role.

The history page includes conversation history for that session. The administrator can view the user role, session id, average feedback rating, and feedback descriptions of the session as well.

The administrator can view all the files in every category as well as their descriptions. These are the files that the chat assistant will use to retrieve information. The files can be downloaded by pressing the download icon in each file.

Clicking the “Feedback” button on the sidebar will allow the administrator to view all the feedback in every user role as well as their descriptions. 


Student and Educator View

After clicking Get Started, users select their role from three options, type a question, or choose a recommended one. Pressing the send icon or enter key submits the question, while the refresh button starts a new session. Clicking “My task is done” opens a feedback form to rate the assistant (1-5 stars) and add comments. Selecting “Send Feedback” completes the process.

Architecture Diagram

Technical Details

The prototype is fully deployable as infrastructure as code. You can deploy the solution by following the Deployment Guide available on the UBC CIC GitHub Repo.

Uploading and Managing Course Materials

Admins upload course materials to the application using a pre-signed upload URL, which are then stored in an S3 bucket. When a new DLS file is added to the bucket, it triggers a data ingestion workflow powered by AWS Lambda. This Lambda function processes the file, embedding the text into vectors using the Amazon Titan Text Embeddings V2 model via Amazon Bedrock.

Data Processing and Embedding

The generated vectors are stored in a PostgreSQL database for easy retrieval. Admins can manage DLS content by sending API requests that trigger Lambda functions, which interact with Amazon RDS to update and retrieve data.

AI Conversations with the LLM

Users can interact with a Large Language Model (LLM) by sending API requests that trigger another Lambda function to generate responses. The function runs a Docker container on Amazon ECR, storing conversation history in DynamoDB. Using Retrieval-Augmented Generation (RAG) architecture, the LLM pulls relevant course data from Amazon RDS to provide contextual answers.

Bringing It All Together

By integrating AWS Amplify, Lambda, and Amazon Bedrock, the system allows admins to efficiently manage course materials, while users enjoy intelligent, context-aware conversations with the LLM. This seamless combination of AWS services creates a scalable, AI-powered learning experience.Link to solution on GitHub: https://github.com/UBC-CIC/Digital-Strategy-Assistant

Acknowledgements

Project Sponsors: BC Digital Policy and Business Transformation Branch
Student team: Sean Woo, Kanish Khanna, Amy Cao

Photo by Andrea Piacquadio

About the University of British Columbia Cloud Innovation Centre (UBC CIC)

The UBC CIC is a public-private collaboration between UBC and Amazon Web Services (AWS). A CIC identifies digital transformation challenges, the problems or opportunities that matter to the community, and provides subject matter expertise and CIC leadership.

Using Amazon’s innovation methodology, dedicated UBC and AWS CIC staff work with students, staff and faculty, as well as community, government or not-for-profit organizations to define challenges, to engage with subject matter experts, to identify a solution, and to build a Proof of Concept (PoC). Through co-op and work-integrated learning, students also have an opportunity to learn new skills which they will later be able to apply in the workforce.