Bienvenido a Virtuta, un proyecto innovador para construir un asistente de enseñanza electrónica/virtual totalmente funcional para cursos universitarios. Virtuta está diseñado para mejorar la experiencia educativa al proporcionar respuestas inmediatas, precisas y conscientes del contexto a las consultas de los estudiantes. Este proyecto aprovecha los últimos avances en el aprendizaje automático, el procesamiento del lenguaje natural y la IA para apoyar a los estudiantes e instructores en un entorno académico.
En el panorama de la educación en constante evolución, la demanda de herramientas de enseñanza efectivas y eficientes nunca ha sido mayor. VirtuTA tiene como objetivo satisfacer esta demanda proporcionando un asistente de enseñanza virtual capaz de manejar diversas tareas, desde responder consultas de los estudiantes hasta proporcionar comentarios y apoyo detallados. Este proyecto es una culminación de las habilidades que hemos perfeccionado a través de numerosas tareas de laboratorio y la experiencia adicional que hemos adquirido en funciones específicas de dominio.
Nuestra plataforma integra varias herramientas educativas y fuentes de datos para proporcionar una experiencia de usuario perfecta. Este proyecto es parte de una iniciativa más amplia para explorar e implementar tecnología de vanguardia en entornos educativos.
Haga clic en la imagen a continuación para ver el video
El proyecto final de este semestre tiene como objetivo desarrollar una solución de trabajo completa para asistentes de enseñanza electrónica/virtual, llamado Virtuta. Nuestro enfoque se basa en un proceso de desarrollo estructurado e incremental, asegurando que construamos una plataforma que no solo sea funcional sino también escalable y adaptable a las diferentes necesidades educativas.
DSCI 560: Proyecto final de Práctica Profesional de Ciencias de Datos
Inicio de sesión automatizado y recopilación de datos en tiempo real : Virtuta admite el inicio de sesión automatizado a plataformas como Piazza y foros basados en la web, asegurando la recopilación e interacción de datos en tiempo real.
Respuestas conscientes del contexto : nuestro sistema utiliza algoritmos de incrustación avanzados para que coincidan con las consultas de los usuarios con las respuestas más relevantes, incorporando contenido estático y dinámico.
Respuestas multimodales : Virtuta puede incluir imágenes y videos en sus respuestas, mejorando el poder explicativo y el compromiso del asistente.
Integración con herramientas externas : el asistente puede integrarse con herramientas como OpenAI y Huggingface para mejorar las capacidades de procesamiento del lenguaje.
Soporte logístico : proporciona actualizaciones y respuestas oportunas relacionadas con la logística del curso, ayudando a los estudiantes a mantenerse informados y organizados.
Comunicación automatizada: Virtuta optimiza las interacciones entre estudiantes e instructores al proporcionar respuestas automatizadas a consultas comunes, facilitar los foros de discusión y ofrecer asistencia personalizada.
Gestión de tareas: gestione las tareas sin problemas, incluidas la creación, distribución, calificación y provisión de comentarios.
Entrega de contenido: cargar y organizar fácilmente materiales del curso, como diapositivas de conferencias, lecturas y contenido multimedia para el aprendizaje accesible en cualquier momento y en cualquier lugar.
Apoyo al estudiante: apoyo personalizado a través de sesiones de preguntas y respuestas, guías de estudio, tutoría y recomendaciones adicionales de recursos.
Análisis e ideas: analice las interacciones de los estudiantes y los datos de rendimiento para generar ideas valiosas para mejorar las estrategias de enseñanza y el seguimiento del progreso de los estudiantes.
Además de las características centrales, Virtuta incorpora un flujo de trabajo de agente inspirado en principios de generación (RAG) de la generación de relevancia (RAG). Este flujo de trabajo mejora las capacidades de Virtuta mediante la integración de poderosas técnicas de recuperación de datos y generación, asegurando que el asistente proporcione respuestas precisas y contextualmente relevantes.
Hemos creado un multimodal RAG usando Langchain , impulsado por Google Gemini . Para la conciencia del contexto , utilizamos dos tiendas vectoriales con Mongo Atlas Vector Search para consultas basadas en el contenido y basadas en logística . Virtuta genera respuestas detalladas e integrales con instantáneas desde diapositivas, marcas de tiempo, enlaces a videos y fuentes. Además, consulta la API de YouTube para consultas basadas en contenido para proporcionar los mejores videos que explican los conceptos que los estudiantes buscan.
Este flujo de trabajo de agente está directamente integrado en Piazza, un popular foro que usan los estudiantes y maestros del foro en muchas universidades. Aprovecha la Piazza API para consultar preguntas sin respuesta y sin resolver, proporcionando respuestas directamente dentro del hilo.
Te invitamos a explorar Virtuta y unirnos a nosotros en este emocionante viaje para revolucionar la experiencia educativa. Sus comentarios y contribuciones son invaluables a medida que nos esforzamos por hacer de Virtuta un asistente de enseñanza virtual de última generación.
Nota
Invitación en el aula de Piazza: haga clic aquí. El aula puede o no estar activo, ya que actualmente no se está manteniendo un proyecto
Clone el repositorio : clone este repositorio a su máquina local.
Navegue al directorio de proyectos : abra su terminal o símbolo del sistema y navegue al directorio raíz del proyecto.
Crear entorno CondA : ejecute el siguiente comando para crear un entorno de condena utilizando el archivo env.yml proporcionado:
conda env create -f env.ymlActive el entorno : active el entorno de conda utilizando:
conda config --set auto_activate_base false # To not activate "base" env by default
conda activate geminiActualice el entorno : si ya tiene un entorno de conda creado, lo actualizó utilizando el comando a continuación y tiene las nuevas dependencias instaladas
conda env update --file env.yml --pruneO
Navegue al directorio de proyectos : abra su terminal o símbolo del sistema y navegue al directorio raíz del proyecto.
Crear entorno virtual : ejecute el siguiente comando para crear un entorno virtual usando requirements.txt :
python -m venv geminiActive el entorno virtual :
gemini S cripts a ctivate source gemini/bin/activate Crear directorio de secretos : mientras que en el directorio raíz del proyecto, cree un directorio llamado secrets .
Coloque el archivo de cuenta de servicio GCP : mueva su archivo de cuenta de servicio de Google Cloud Platform (GCP) al directorio secrets . Asegúrese de que se denomine adecuadamente.
Copiar y llenar variables de entorno :
example.env proporcionado en el proyecto y cambie el nombre a .env ..env y establezca las siguientes variables:GCLOUD_SERVICE_ACCOUNT_KEY_PATH : ruta a su archivo de cuenta de servicio GCP en relación con el directorio secrets .PROJECT_ID : su ID de proyecto GCP.PROJECT_LOCATION : ubicación de su proyecto GCP.MONGODB_URI : URI para su instancia o base de datos MongoDB.¡Ahora estás listo para administrar el asistente de enseñanza virtual de IA!
Virtuta está listo para revolucionar cómo los estudiantes interactúan con contenido educativo y sistemas de apoyo. Nuestro objetivo es proporcionar un entorno de aprendizaje altamente efectivo, atractivo y de apoyo integrando técnicas de IA avanzadas con marcos educativos sólidos. ¡Estén atentos para nuestras actualizaciones semanales de progreso y la demostración final del proyecto!
¡Gracias por su interés en Virtuta !
MS in Applied Data Science | USC | AuthorMS in Applied Data Science | USCMS in Applied Data Science | USC Este proyecto es un esfuerzo de colaboración de un equipo de estudiantes dedicados del programa de EM en la MS en la Ciencia de datos aplicados de la Universidad del Sur de California . Un agradecimiento especial a Mihika Gaonkar , Prathamesh Lonkar , Mithesh Ramachandran , Hritik Bansal y Suma Sree Gottipati por sus contribuciones al video de demostración.
Este repositorio tiene licencia bajo la licencia MIT . Consulte el archivo de licencia para obtener más detalles.