Artículo
· 5 dic, 2024 Lectura de 4 min

EduVerse: Asistente de Aprendizaje Accesible

🌍 Inclusión e Innovación en la Educación 🌍
Nuestro proyecto reimagina el aprendizaje para todos los estudiantes, con un enfoque en la accesibilidad y experiencias interactivas. Diseñado con el objetivo de hacer que la educación sea atractiva e inclusiva, esta herramienta está creada para apoyar a estudiantes de todas las habilidades en el aprendizaje de material complejo de forma intuitiva.

💡 Lo que hace
Esta aplicación educativa transforma presentaciones de lecciones en sesiones de estudio interactivas:

  • Transformar Presentaciones: Con tecnología de Reconocimiento Óptico de Caracteres (OCR), la aplicación escanea y convierte diapositivas de presentaciones en texto digital y datos vectoriales, creando contenido accesible a partir de presentaciones estándar.
  • Conversaciones con IA: Nuestra app da vida a las presentaciones con un asistente de chat impulsado por IA, que permite a los usuarios hacer preguntas sobre cualquier tema tratado en las diapositivas. La IA utiliza Procesamiento de Lenguaje Natural (NLP) y LangChain para ofrecer respuestas inteligentes y contextualizadas.
  • Cuestionarios de Estilo Retro: Al final de cada sesión, los usuarios pueden poner a prueba sus conocimientos con cuestionarios de estilo retro generados automáticamente, que hacen que aprender sea divertido y refuercen su comprensión.

🔧 Cómo está construida
Combinamos tecnologías poderosas para crear una aplicación accesible y receptiva:

 

  • Frontend: Desarrollado en Next.js para una interfaz receptiva y fácil de usar.
  • Almacenamiento de Datos: Utilizamos InterSystems IRIS Vector Database para almacenar y recuperar eficientemente el contenido vectorizado de las presentaciones.
  • IA y PLN: Un modelo de aprendizaje de lenguaje (LLM) integrado con LangChain permite conversaciones significativas al hacer referencia tanto a la entrada del usuario como a los datos vectorizados de la presentación.
  • Backend: Backend con FastAPI para un rendimiento seguro y escalable.
  • Generación de Cuestionarios: Algoritmos de PLN crean cuestionarios dinámicos e interactivos que personalizan el aprendizaje en cada sesión.

Esta herramienta representa un paso adelante para hacer que la educación sea inclusiva, atractiva y accesible para todos.

Integrando la Búsqueda Vectorial de InterSystems IRIS: Una Guía Práctica

La Búsqueda Vectorial de InterSystems IRIS es una herramienta poderosa para desarrolladores que construyen aplicaciones con capacidades avanzadas de búsqueda vectorial. Al aprovechar IRIS Vector Search junto con FastAPI, podemos crear un sistema robusto de procesamiento y consulta de documentos. Este artículo te guiará en la integración de IRIS Vector Search en un proyecto FastAPI y en su configuración en tu máquina local, destacando características clave para un análisis inteligente de documentos.

Configuración de IRIS Localmente

  1. Clonad el repositorio:

git clone https://github.com/intersystems-community/iris-vector-search.git

  1. Inicia los contenedores de Docker (uno para IRIS, uno para Jupyter):

docker-compose up

 

Integración con FastAPI

Nuestro proyecto utiliza IRIS Vector Search para manejar el procesamiento de documentos y consultas basadas en similitud, lo que permite un almacenamiento y búsqueda eficientes en grandes volúmenes de datos de texto. Así es como integramos IRIS Vector Search en FastAPI.

Paso 1: iniciación

Primero, instalad el paquete necesario:

pip install langchain-iris

Ahora inicializamos nuestro almacén de vectores utilizando la clase IRISVector del módulo langchain_iris

from langchain_iris import IRISVector

vector_store = IRISVector.from_documents(

    embedding=embeddings,

    documents=docs,

    collection_name=COLLECTION_NAME,

    connection_string=IRIS_CONNECTION_STRING

)

Este fragmento de código crea un almacén de vectores a partir de los documentos proporcionados utilizando incrustaciones, almacenando los resultados en IRIS para una consulta rápida y eficiente.

 

Paso 2: Procesamiento de documentos

Cuando un usuario carga un PDF, la aplicación procesa el documento extrayendo el texto y dividiéndolo en fragmentos. Estos fragmentos luego se agregan al almacén de vectores de IRIS.

docs = text_splitter.split_documents(docs)

initialize_vector_store(docs)

Al descomponer cada documento en segmentos más pequeños, nos aseguramos de que cada fragmento sea indexado y almacenado, mejorando la precisión de las búsquedas basadas en similitud.

 

Paso 3: Consultar Documentos

Una vez que nuestros documentos han sido procesados y almacenados, podemos usar el almacén de vectores para búsquedas por similitud:

docs_with_score = vector_store.similarity_search_with_score(query, k=3)

Este comando devuelve los tres documentos más relevantes según la consulta, cada uno con una puntuación de relevancia asociada.

Comentarios (0)1
Inicie sesión o regístrese para continuar