Skip to content

Add context-aware conversational AI assistant for Sunbird Ed (Issue #515) #714

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

techySPHINX
Copy link

@techySPHINX techySPHINX commented May 12, 2025

🧠 Summary

This PR introduces a context-aware conversational AI assistant as outlined in Issue #515. The assistant leverages the Model Context Protocol (MCP) and LangChain's function-calling to enable intelligent interactions with Sunbird Ed APIs. It is designed to be role-aware, extensible, and modular across deployments.


🔍 Key Features

  • 🌐 Integrated FastAPI backend with CLI or web interface support
  • 🔧 LangChain agent with role-based tool access (learner, mentor, admin)
  • 🔐 Authentication and authorization layers for API security
  • 🧠 Session management for user and installation-specific contexts
  • 📦 Support for mocked Sunbird Ed APIs:
    • Course metadata
    • Enrollment status
    • Learning progress
    • Admin operations
  • 🧰 Tool schemas modularized for easy API replacement or extension

📁 Project Structure Highlights

  • app/agent/session_manager.py: Handles user session and context
  • app/tool_schemas/: Implements API interaction logic
  • app/tool_registry.py: Registers tools dynamically based on role
  • app/agent_setup.py: Initializes the LangChain agent

🧪 Testing & Simulation

  • Sunbird Ed APIs are mocked for development
  • Easily replaceable with real endpoints in production environments

🧩 Future Scope

  • Add more DPG integrations
  • Extend toolset for deeper role-based capabilities
  • Add persistence for session data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant