National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Teacher Console
Course Setup
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

7

Local AI

--

Uedu Code

--

AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

METHODOLOGY

Uedu Open
AI Chat as Learning for OCW

Import open courses such as MIT OpenCourseWare into Uedu, and combine them with a transcript-based conversational AI TA, so that self-directed learners can engage in contextual question-and-answer interactions with course content, upgrading open materials of the 'read/watch' type into a 'conversational' learning experience.

1. Design philosophy

Since MIT led the way in 2002, OpenCourseWare (OCW) has amassed tens of thousands of high-quality teaching materials. But for self-directed learners, OCW is still a one-way broadcast: videos, handouts and exercises are all static resources, unable to answer immediate confusions such as 'Why does this formula hold?' or 'I do not understand this analogy'.

Uedu Open imports open educational materials into the platform and provides an independent AI conversation partner for each lecture. AI knows which lecture and which section the student is viewing, and can provide contextual guidance based on the transcript, upgrading "reading lecture notes" to "discussing with the instructor".

Positioning difference from ClassroomGPT and Aida

ClassroomGPT serves formally enrolled students and uses a system prompt set by the Instructor; Aida is a platform-level Agentic AI guided by the AIDA framework; Uedu Open is a lightweight dialogue interface for OCW and other open materials, with no individual Instructor setup, and by default uses a general guiding prompt + lecture transcript as context.

2. System architecture

Uedu Open consists of two Flask Blueprints, defined in app_uedu_open.py:

  • uedu_open (prefix /open): UI routes, providing the course catalogue, course details and Lecture playback pages
  • uedu_open_api (prefix /api/open): API routes, providing AI conversation SSE streaming, conversation history and learning guides

Main page

PageRouteFeature
Course directory/open/Classification, subject, difficulty, keyword search (MySQL FULLTEXT)
Course details/open/course/<slug>Syllabus, Lectures list, teaching material files, AI learning guide
Lecture playback/open/lecture/<lecture_id>Video player + AI chat panel on the right

Technical components

  • LLM: OpenAI gpt-5.4-mini (single model, no function calling)
  • Streaming: Server-Sent Events (SSE); messages use base64 encoding to avoid line-break interference
  • Retrieval strategy: simple prompt augmentation (paste the first 3000 characters of the lecture transcript directly into the system prompt), without using embedding vector retrieval
  • Database: MySQL; Course content supports MATCH/AGAINST full-text search (Chinese and English columns)

3. Data model

There are 6 main data tables in total, defined in sql/open_tables.sql:

Data tablePurposeKey fields
open_sources Definition of open teaching material sources code, name, homepage_url, api_config (JSON, including API endpoint and authentication details)
open_courses Course master table slug、title / title_zh、description / description_zh、instructors(JSON)、topics(JSON)、level、course_number、source_id
open_lectures Single lecture / video video_id, video_platform (YouTube / local), duration, transcript_text, order_index
open_materials Course attachments (PDF / handouts / assignments) file_path、category、size_bytes
open_chat_sessions Learner dialogue record session_uuid, user_id, course_id, lecture_id, messages (JSON array)
open_study_guides AI-generated study guide summary, key_terms, quiz_questions (all JSON)

The initial seed data enables only MIT OpenCourseWare as a source; the schema reserves identifiers such as nthu_ocw, stanford_edx, and edx_api, allowing each source to implement its own import script in future.

4. Course import

External data enters the database via a background import process; the main source at present is the MIT Learn API (https://api.learn.mit.edu/api/v1/courses/):

  1. The import script connects to external APIs via open_sources.api_config
  2. Fetch course metadata (title, instructor, semester, difficulty, topics) into open_courses
  3. Fetch lectures by Course, including video ID, duration, and transcript (YouTube auto-caption or SRT provided by OCW)
  4. Fetch course attachments (PDF / handouts) into open_materials
  5. Optionally generate AI study guides (summary / keywords / quiz) and write them to open_study_guides
Authorisation and citation

Imported teaching materials must comply with the open licensing terms of the source (MIT OCW is CC BY-NC-SA 4.0). Uedu Open does not claim copyright in the teaching materials, and only provides a 'dialogue-based exploration interface'; copyright and citation responsibility for the original materials rests with the original authors and institutions.

5. AI dialogue flow

The core endpoint is POST /api/open/chat/stream (SSE), implemented in api_open_chat_stream():

  1. Check that the user is logged in (public browsing does not require login, but conversation requires login, to support learning data tracking)
  2. Read lecture_id, and fetch the corresponding lecture metadata plus the metadata for the Course it belongs to
  3. Dynamically assemble the system prompt via build_system_prompt() (see the next section)
  4. If there is a session_uuid, restore the existing conversation context from open_chat_sessions.messages; otherwise create a new session
  5. Submit to OpenAI gpt-5.4-mini, temperature=0.7, max_completion_tokens=1500, with streaming enabled
  6. Each token chunk is base64-encoded and sent back to the front end as an SSE event
  7. After streaming ends, append the complete user / assistant messages to messages JSON, and update open_chat_sessions

Conversation history

GET /api/open/chat/history?session_uuid=... returns the full conversation array, which the front end uses to rebuild the historical chat UI. The same user may have multiple sessions within the same lecture, and they do not interfere with one another.

6. Prompt assembly (Prompt Augmentation)

Uedu Open adopts transcript-based prompt augmentation rather than RAG embedding retrieval. There are three reasons:

  • The scope of each lecture is clearly defined by lecture_id, so semantic retrieval across lectures is not needed
  • Transcripts are usually 5,000~15,000 characters long; extracting the first 3,000 characters (≈ 4,000 tokens) already covers the main concepts
  • Avoid extra vectorisation costs and speed up cold start

System prompt structure

你是一位協助學習開放式課程的 AI 助教。

# 課程資訊
- 課程:{course.title_zh} / {course.title}
- 課號:{course.course_number}
- 學期:{course.semester}
- 講師:{course.instructors}
- 難度:{course.level}

# 本堂 Lecture
- 標題:{lecture.title}
- 順序:第 {lecture.order_index} 堂

# 講授內容(節錄)
{lecture.transcript_text[:3000]}

# 你的角色
- 以蘇格拉底式對話引導學生思考,不直接給答案
- 若學生問題超出本堂範圍,提示可能在哪堂講次
- 使用繁體中文回應
Why choose GPT-5.4-mini

The volume of dialogue in OCW may be more than 10 times that of formal courses (self-learners have no upper limit), so quality and cost need to be balanced. GPT-5.4-mini offers the best token value among mid-tier models, and supports long context (enough to accommodate a 3,000-character verbatim transcript + multi-turn dialogue).

7. Learning data governance

All AI conversations are written to open_chat_sessions, including user_id, Course / lecture links, and the full messages JSON. These data have the following research value:

  • Self-directed learning behaviour research: question frequency, depth of questions and distribution of sticking points across different lectures
  • Material difficulty feedback: Passages that are frequently asked about are the concepts that the material needs to supplement
  • Cross-course learning pathway: a single user's learning context across courses can be linked into a personal OCW learning map

Privacy and consent

  • Conversation data are stored using user_id mapping, without de-identification (consistent with ClassroomGPT)
  • Uedu Terms of Use already cover the use of AI dialogue data for platform improvement and academic research
  • Learners may delete individual sessions or all history at any time in their personal settings
  • When publishing papers externally, all quoted dialogue must be de-identified

8. Current limitations and future directions

Current limit

  • Source coverage: currently only MIT OpenCourseWare is integrated; NTHU OCW, Stanford Online, edX and others have reserved fields but have not yet been imported
  • Transcript truncation: truncating at 3,000 characters may miss later content in long lectures (90 minutes or more)
  • No vector retrieval: Cross-session conceptual associations (for example, "this idea was mentioned in Session 5") cannot currently be linked automatically
  • No tool calls: Unlike Aida / ClassroomGPT, which can call tools such as Bloom classification and Learning history, responses are more straightforward

Short-term planning

  • Segment the transcription + vectorise with embeddings to enable true RAG cross-segment retrieval
  • Integrates Bloom's Taxonomy classifier to track changes in a self-learner's cognitive level
  • Integrate Aida's tool-calling mechanism to provide capabilities such as "cross-class search" and "related exercises"
  • Expand more open-source materials (NTHU OCW, Open Yale Courses, Khan Academy)

9. Research applications

Uedu Open is a natural laboratory for studying "conversational self-study behaviour". Possible research topics include:

  • Differences in question-asking mode between OCW self-learners and officially enrolled Students
  • Transcription prompt augmentation vs. embedding RAG: a comparison of effectiveness in open educational materials contexts
  • Persistence and learning pathways of OCW learners across different disciplines (STEM / humanities and social sciences)
  • The impact of AI guidance on OCW completion rates (traditional OCW completion rates are only 5–15%)
Citation recommendations

When citing this system, please cite "Uedu Open: an AI conversational interface for open courseware (https://uedu.tw/open)" and state that the GPT-5.4-mini model was used, together with a prompt augmentation strategy based on verbatim transcripts. You should also state the licensing terms of the original teaching materials source (for example, MIT OpenCourseWare).