Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI-Driven Chatbot Integration for Enhanced User Support #386

Open
10 tasks
trabby opened this issue Oct 7, 2024 · 3 comments
Open
10 tasks

AI-Driven Chatbot Integration for Enhanced User Support #386

trabby opened this issue Oct 7, 2024 · 3 comments
Assignees
Labels
discovery Pre-work to determine if an idea is feasible enhancement Relates to new features or improvements to existing features
Milestone

Comments

@trabby
Copy link

trabby commented Oct 7, 2024

Abstract

This proposal aims to introduce an AI-driven chatbot system integrated into the Open edX platform, built with Django, to assist learners and educators. The chatbot's primary function is to respond to platform-specific questions, offer course recommendations, generate quizzes, provide course details, provide course summary and assist with course progress tracking. The chatbot leverages large language models (LLMs) from OpenAI, with support for natural language processing (NLP) techniques such as TF-IDF and fuzzy string matching.

Detailed Product Proposal

No response

Context & Background (in brief, if a Product Proposal is linked above)

As online education platforms like Open edX continue to grow, the need for scalable support solutions becomes critical. Manually responding to user queries, while effective, is time-consuming and not easily scalable as the user base expands. This proposal seeks to implement an AI-driven chatbot that can automate common support tasks, such as course queries, platform navigation assistance, and course recommendations.

The key benefit of this chatbot is that it reduces the reliance on human support, thus improving response times and allowing support teams to focus on more complex issues.

The chatbot addresses multiple use cases:

  1. Course Recommendations: The chatbot suggests relevant courses based on user input, helping learners find courses that match their interests and needs.
  2. Course Summary: Users can request concise or detailed summaries of course content, providing a quick overview of what the course covers.
  3. Course Details: The chatbot provides specific information about a course, including start/end dates, course partners, and a description.
  4. Difficulty Assistance: When a user expresses difficulty with a topic, the chatbot offers support by recommending beginner-friendly resources or courses.
  5. Platform-related Questions: The chatbot handles general platform-related inquiries, such as account management, course navigation, and registration.
  6. Course Enrollment: It assists users in checking and managing their course enrollment status, ensuring they are enrolled in the correct courses.
  7. Quiz Generation: The chatbot generates quizzes based on the course content a user has completed, helping reinforce learning.
  8. Course Progress Check: Users can ask for updates on their course progress, and the chatbot provides real-time data on completed units and grades.
  9. Discussion Forum Question Handling: The chatbot automatically gathers and responds to student queries from the discussion forum, making it easy for students to find answers

Scope & Approach (in brief, if a Product Proposal is linked above)

The proposed AI-driven chatbot will be implemented using Django on the Open edX platform, integrated with OpenAI’s large language models (LLMs) to enhance user support through conversational abilities. The chatbot provides several key features:

  1. General and Platform-Specific Question Detection:
  • The system distinguishes between general queries (e.g., "What is AI?") and platform-specific queries (e.g., "How do I enroll in a course?"). General questions are discouraged, and users are guided toward platform-related inquiries.
  1. Course Summarization:
  • Using an LLM, the chatbot generates both concise and detailed summaries of course content. Summaries are presented in a user-friendly, HTML-formatted structure with sections like "Overview" and "Key Concepts."
  1. Course Recommendations:
  • Based on user input, the system suggests relevant courses from Open edX's course catalog. Fuzzy matching techniques and TF-IDF are used to ensure that recommendations are highly relevant to the user’s interests.
  1. Quiz Generation:
  • The chatbot generates dynamic quizzes based on the content a user has completed in a course. These quizzes are designed to reinforce learning outcomes and provide a more interactive learning experience.
  1. Rate Limiting:
  • To prevent system overload, the chatbot includes a rate-limiting feature that controls the number of requests a user can make within a specific time frame, ensuring fair and consistent access.
  1. Platform-Related Assistance:
  • The chatbot provides support for platform-related questions, such as navigating the system, enrolling in courses, and accessing course materials, helping users get the most out of the Open edX platform.
  1. Course Enrollment:
  • Users can inquire about their enrollment status, and the chatbot will inform them of the courses they are currently enrolled in and help manage their enrollments.
  1. Difficulty Assistance:
  • If a user expresses difficulty with a course topic, the chatbot offers support by suggesting beginner-friendly courses or additional resources to help the user better understand the concept.
  1. Discussion Forum Question Handling:
  • The chatbot gathers questions from the discussion forum and provides answers, making it easier for students to find responses to common queries without needing to manually search through threads. This helps improve forum engagement and support.
  1. User Progress Tracking:(pending)
  • Users can ask for updates on their course progress, and the chatbot provides real-time data, including completed units, grades, and overall course progress.

Value & Impact (in brief, if a Product Proposal is linked above)

This proposal will enhance the Open edX platform by providing scalable, AI-driven support, thereby improving user experience, engagement, and overall satisfaction.

Milestones and/or Epics

### Backend

The chatbot is built using Django and Open edX APIs for accessing course data. It also uses the Langchain library for building the interaction chain with OpenAI’s GPT-based LLM models. For text processing, it relies on the fuzzywuzzy library for matching user queries with course titles and descriptions, and TfidfVectorizer for content-based similarity comparisons.

  • Front-End Integration:(Pending)

AI and NLP Integration:

The AI-driven functionality relies on OpenAI’s GPT models for both summarization and conversation. For recommendations, NLP techniques such as TF-IDF and cosine similarity are used to match user input to relevant course content.

  • User Interface (Pending)

Security Considerations:

  • Authentication:

Users must be authenticated to interact with the chatbot, ensuring only valid users can access course data and personalized recommendations.

  • Rate Limiting:

Implement rate limiting to prevent abuse and ensure fair usage of the chatbot services.

Named Release

Teak

Timeline (in brief, if a Product Proposal is linked above)

We have created a proof of concept (POC) on a sandbox environment, which can be tested to further discuss potential use cases. As mentioned earlier, we have not yet initiated any efforts to implement the chatbot using micro-frontend (MFE). Please note, the chatbot is intended to be used exclusively by registered users on the platform.

Proposed By

Abstract-Technology

Additional Info

We have created some images showcasing the work completed so far. See comment below.

Tasks

No tasks being tracked yet.
Copy link

github-actions bot commented Oct 7, 2024

Thanks for your submission, @openedx/openedx-product-managers will review shortly.

@trabby
Copy link
Author

trabby commented Oct 7, 2024

Here some images:

  • course-details

course-details png 640x0_q85_crop

  • course-enrollment

course-enrollment png 640x0_q85_crop

  • course-recommendations

course-recommendations png 640x0_q85_crop

  • course-summarization

course-summarization png 640x0_q85_crop

  • discussion-forum-question-handling

discussion-forum-question-handling png 640x0_q85_crop

  • general-and-platform-specific-question-detection

general-and-platform-specific-question-detection png 640x0_q85_crop

  • login

login png 640x0_q85_crop
rate-limiting png 640x0_q85_crop

  • translating

translating png 640x0_q85_crop

@trabby trabby self-assigned this Oct 7, 2024
@trabby trabby added discovery Pre-work to determine if an idea is feasible enhancement Relates to new features or improvements to existing features labels Oct 7, 2024
@trabby trabby added this to the Teak.1 milestone Oct 7, 2024
trabby added a commit to trabby/open-edx-proposals that referenced this issue Oct 8, 2024
@trabby
Copy link
Author

trabby commented Oct 24, 2024

We prepared a short video about the AI chatbot, you can download the video from here:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discovery Pre-work to determine if an idea is feasible enhancement Relates to new features or improvements to existing features
Projects
Status: No status
Development

No branches or pull requests

1 participant