Skip to content

Chatbot académico para investigación educativa. Registra interacciones para el estudio de alfabetización en IA, técnica CoT y carga cognitiva. Streamlit + GPT-4o + Supabase.

Notifications You must be signed in to change notification settings

ricardomonge/Asistente_IA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IMFE - Laboratorio de IA colaborativa

Este repositorio contiene una aplicación de Chatbot Académico diseñada como instrumento de recolección de datos para investigaciones en educación superior. El sistema está optimizado para estudiar la alfabetización en IA, la técnica Chain of Thought (CoT) y la carga cognitiva en estudiantes de ciencias de la salud.

Descripción del proyecto

La app permite a los grupos de estudiantes interactuar con un asistente experto en temas específicos (ej. Distribución Normal). A diferencia de un chat convencional, este sistema registra cada interacción, mensaje y retroalimentación en una base de datos Supabase para su posterior análisis estadístico en R.

Preguntas de Investigación Vinculadas

  • ¿Cómo influye el razonamiento paso a paso en la precisión de la resolución de problemas?
  • Medición de la exigencia mental mediante el cruce de logs con instrumentos externos.
  • Seguimiento de la tasa de intentos de fraude y de la adopción real de la herramienta.

Características principales

  • Configuración por Sesión: Ingreso de NRC, ID de Grupo e Integrantes.
  • Definición de Tema: El asistente adapta su comportamiento según el tema indicado por los estudiantes.
  • Asistente Híbrido (RAG Opcional): Motor de búsqueda que utiliza los materiales del curso (PDF) solo si el usuario decide subirlos.
  • Soporte LaTeX Avanzado: Renderización de fórmulas estadísticas complejas mediante los delimitadores $ y $$.
  • Sistema de Feedback Persistente: Botones de "pulgar arriba/abajo" vinculados a cada mensaje, que mantienen su estado y permiten actualizar la base de datos.
  • UX Anti-Ansiedad: Indicadores visuales de carga (spinners) mientras la IA procesa respuestas complejas.

Requisitos Técnicos

Dependencias (requirements.txt)

streamlit>=1.33.0
pandas
openai
langchain
langchain-community
langchain-openai
faiss-cpu
supabase
pypdf

Configuración de Secrets (Streamlit Cloud)

Es necesario configurar las siguientes variables de entorno:

OPENAI_API_KEY = "tu_clave_api"
SUPABASE_URL = "[https://tu-proyecto.supabase.co](https://tu-proyecto.supabase.co)"
SUPABASE_KEY = "tu-clave-anon-public"

Estructura de la base de datos (SQL)

Para habilitar el registro, ejecuta este script en el SQL Editor de tu proyecto de Supabase:

create table interacciones_investigacion (
  id bigint generated by default as identity primary key,
  session_id text,
  nrc text,
  grupo text,
  tema text,
  estudiante text,
  mensaje_usuario text,
  respuesta_ia text,
  usa_rag boolean,
  feedback text,
  timestamp timestamptz default now()
);

Conexión para el análisis en R

Para realizar el análisis de datos, conéctate al Connection Pooler de Supabase utilizando el puerto 6543:

library(DBI)
library(RPostgres)

con <- dbConnect(
  RPostgres::Postgres(),
  dbname = "postgres",
  host = "aws-1-us-east-1.pooler.supabase.com",
  port = 6543,
  user = "postgres.[ID_DE_TU_PROYECTO]",
  password = "TU_PASSWORD_DE_DB",
  sslmode = "require"
)

# Carga de datos para análisis
df_logs <- dbGetQuery(con, "SELECT * FROM interacciones_investigacion")

About

Chatbot académico para investigación educativa. Registra interacciones para el estudio de alfabetización en IA, técnica CoT y carga cognitiva. Streamlit + GPT-4o + Supabase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages