Bienvenue à Virtuta, un projet innovant pour construire un assistant d'enseignement électronique / virtuel entièrement fonctionnel pour les cours universitaires. Virtuta est conçue pour améliorer l'expérience éducative en fournissant des réponses immédiates, précises et contextuelles aux questions des étudiants. Ce projet tire parti des dernières progrès de l'apprentissage automatique, du traitement du langage naturel et de l'IA pour soutenir les étudiants et les instructeurs dans un cadre académique.
Dans le paysage en constante évolution de l'éducation, la demande d'outils pédagogiques efficaces et efficaces n'a jamais été plus grande. VirtuTA vise à répondre à cette demande en fournissant un assistant d'enseignement virtuel capable de gérer diverses tâches, de la réponse aux questions des étudiants à la fourniture de commentaires et de soutien détaillés. Ce projet est un point culminant des compétences que nous avons perfectionnées grâce à de nombreuses affectations en laboratoire et à l'expertise supplémentaire que nous avons acquise dans les fonctions spécifiques au domaine.
Notre plateforme intègre divers outils éducatifs et sources de données pour fournir une expérience utilisateur transparente. Ce projet fait partie d'une initiative plus large pour explorer et mettre en œuvre une technologie de pointe dans des environnements éducatifs.
Cliquez sur l'image ci-dessous pour afficher la vidéo
Le projet final de ce semestre vise à développer une solution de travail complète pour les assistants pédagogiques électroniques / virtuels, surnommée Virtuta. Notre approche est enracinée dans un processus de développement structuré et incrémentiel, garantissant que nous construisons une plate-forme non seulement fonctionnelle mais également évolutive et adaptable à différents besoins éducatifs.
DSCI 560: Data Science Professional Praccicum Final Project
Connexion automatisée et collecte de données en temps réel : Virtuta prend en charge la connexion automatisée sur des plateformes comme la Piazza et les forums Web, assurant la collecte et l'interaction de données en temps réel.
Réponses contextuelles : Notre système utilise des algorithmes d'intégration avancés pour faire correspondre les requêtes des utilisateurs avec les réponses les plus pertinentes, incorporant un contenu statique et dynamique.
Réponses multimodales : Virtuta peut inclure des images et des vidéos dans ses réponses, améliorant le pouvoir explicatif et l'engagement de l'assistant.
Intégration avec des outils externes : l'assistant peut s'intégrer à des outils comme Openai et HuggingFace pour des capacités de traitement du langage améliorées.
Support logistique : fournit des mises à jour et des réponses opportunes liées à la logistique du cours, aidant les étudiants à rester informés et organisés.
Communication automatisée: Virtuta rationalise les interactions entre les étudiants et les instructeurs en fournissant des réponses automatisées aux requêtes communes, en facilitant les forums de discussion et en offrant une assistance personnalisée.
Gestion des affectations: gérer les affectations de manière transparente, y compris la création, la distribution, la notation et la disposition de rétroaction.
Livraison de contenu: Téléchargez et organisez facilement des documents de cours tels que les diapositives de conférence, les lectures et le contenu multimédia pour accessible à tout moment, à l'apprentissage.
Support des étudiants: soutien personnalisé par le biais de sessions de questions / réponses, des guides d'étude, du tutorat et des recommandations de ressources supplémentaires.
Analytique et idées: analyser les interactions des étudiants et les données de performance pour générer des informations précieuses pour améliorer les stratégies d'enseignement et suivre les progrès des élèves.
En plus des caractéristiques de base, Virtuta intègre un flux de travail agentique inspiré des principes de génération (RAG) de pertinence . Ce flux de travail améliore les capacités de Virtuta en intégrant de puissantes techniques de récupération de données et de génération, garantissant que l'assistant fournit des réponses précises et contextuellement pertinentes.
Nous avons créé un multimodal RAG utilisant Langchain , alimenté par Google Gemini . Pour une sensibilisation au contexte , nous utilisons deux magasins vectoriels avec Mongo Atlas Vector Search pour des requêtes basées sur le contenu et basées sur la logistique . Virtuta génère des réponses détaillées et complètes avec des instantanés des diapositives, des horodatages, des liens vers des vidéos et des sources. De plus, il interroge l'API YouTube pour les requêtes basées sur le contenu afin de fournir les meilleures vidéos expliquant les concepts que recherchent les étudiants.
Ce flux de travail agentique est directement intégré à Piazza, un forum populaire que les élèves et les enseignants de nombreuses universités utilisent. Il exploite l'API Piazza pour interroger des questions sans réponse et non résolues, fournissant des réponses directement dans le fil.
Nous vous invitons à explorer Virtuta et à nous rejoindre dans ce voyage passionnant vers la révolution de l'expérience éducative. Vos commentaires et contributions sont inestimables alors que nous nous efforçons de faire de Virtuta un assistant d'enseignement virtuel de pointe.
Note
Invitation en classe Piazza: cliquez ici. La salle de classe peut ou non être active car un projet n'est actuellement pas maintenu
Clone le référentiel : clone ce référentiel vers votre machine locale.
Accédez au répertoire du projet : ouvrez votre terminal ou votre invite de commande et accédez au répertoire racine du projet.
Créer un environnement conda : exécutez la commande suivante pour créer un environnement conda en utilisant le fichier env.yml fourni:
conda env create -f env.ymlActivez l'environnement : activez l'environnement conda en utilisant:
conda config --set auto_activate_base false # To not activate "base" env by default
conda activate geminiMettez à jour l'environnement : si vous avez déjà un environnement conda créé, je l'ai mis à jour en utilisant la commande ci-dessous et que les nouvelles dépendances sont installées
conda env update --file env.yml --pruneOU
Accédez au répertoire du projet : ouvrez votre terminal ou votre invite de commande et accédez au répertoire racine du projet.
Créer un environnement virtuel : exécutez la commande suivante pour créer un environnement virtuel en utilisant requirements.txt :
python -m venv geminiActivez l'environnement virtuel :
gemini S cripts a ctivate source gemini/bin/activate Créer un répertoire secrets : tandis que dans le répertoire racine du projet, créez un répertoire nommé secrets .
Placez le fichier de compte de service GCP : déplacez votre fichier de compte de service Google Cloud Platform (GCP) dans le répertoire secrets . Assurez-vous qu'il est nommé de manière appropriée.
Copier et remplir les variables d'environnement :
example.env fourni dans le projet et renommez-le à .env ..env et définissez les variables suivantes:GCLOUD_SERVICE_ACCOUNT_KEY_PATH : chemin vers votre fichier de compte de service GCP par rapport au répertoire secrets .PROJECT_ID : votre ID de projet GCP.PROJECT_LOCATION : emplacement de votre projet GCP.MONGODB_URI : URI pour votre instance MongoDB ou votre base de données.Vous êtes maintenant prêt à exécuter l'assistant d'enseignement virtuel AI !!
Virtuta est sur le point de révolutionner la façon dont les étudiants interagissent avec le contenu éducatif et les systèmes de soutien. Nous visons à fournir un environnement d'apprentissage très efficace, engageant et solidaire en intégrant des techniques d'IA avancées avec des cadres éducatifs robustes. Restez à l'écoute pour nos mises à jour de progrès hebdomadaires et notre démonstration finale du projet!
Merci de votre intérêt pour Virtuta !
MS in Applied Data Science | USC | AuthorMS in Applied Data Science | USCMS in Applied Data Science | USC Ce projet est un effort de collaboration d'une équipe d'étudiants dévoués du programme MS in Data Science de l' Université de Californie du Sud . Un merci spécial à Mihika Gaonkar , Prathamesh Lonkar , Mithesh Ramachandran , Hritik Bansal et Suma Sree Gottipati pour leurs contributions à la vidéo de démonstration.
Ce référentiel est concédé sous licence MIT . Voir le fichier de licence pour plus de détails.