Skip to content

Sprinter05/magicdocu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicDocu

Gestor inteligente de archivos con funcionalidades para interrelacionarlos y contextualizarlos en diferentes aspectos.

Banner de la plataforma

Objetivo

El objetivo de este proyecto es facilitar la navegación entre documentos de empresa en grandes cantidades, de diferentes tipos, formatos y funciones. Centrado en la búsqueda dinámica e inteligente, esta plataforma permite al usuario gestionar sus documentos de una forma más ordenada y coherente, independientemente de las diferencias entre éstos.

imagen

Funcionalidades

  • Subida y eliminación de archivos.
  • Extracción de palabras clave de cada documento.
  • Búsqueda inteligente mediante LLMs con embeddings.
  • Visualización de archivos y de sus metadatos.
  • Sistema de etiquetas personalizadas.
  • Búsquedas personalizadas mediante diferentes parámetros.
  • Chatbot integrado con información sobre los ficheros, para contextualizar de forma más sencilla.
imagen

Stack

  • Front-end: Python (con Django).
  • Back-end: Base de datos PostgreSQL, conectada con el ORM de Django. Sistema vectorial de embeddings soportado mediante pgvector.
  • Despliegue: Docker.

Este proyecto da uso a dos LLMs para la implementación de algunos sistemas inteligentes.

Modelos utilizados

  • nomic-embed-text: Para la obtención de los keywords de los archivos y la interrelación entre ellos con embeddings.
  • llama: Para la implementación del chatbot.

Implementación de modelos

Para la descarga y ejecución de los modelos, este proyecto utiliza Ollama. Para la optimización y gestión de memoria de los modelos se ha utilizado Redis.

Build

Para ejecutar la plataforma, primero clona el respositorio:

$ git clone https://github.com/Sprinter05/magicdocu.git

Navega al directorio raíz del repositorio y ejecuta el comando docker/build.sh (asumiendo que Docker está instalado en la máquina):

$ cd magicdocu
$ docker/build.sh

Una vez construidas las imágenes, navega al directorio docker/ y compón el Docker:

$ docker compose up -d

Durante la primera inicialización, es normal que la carga sea larga. Esto se debe a la descarga de los modelos.

Este comando servirá la base de datos, los modelos de Ollama y la misma plataforma. La base de datos estará abierta en el puerto 5432, Ollama en el puerto 11431, Redis en el puerto 6379 y Django en el puerto 8000, todos en localhost. Puedes conectarte a la página una vez compuesto el Docker mediante el siguiente enlace: http://127.0.0.1:8000.

Una vez termines tu sesión, es buena práctica finalizar la composición del Docker:

$ docker compose down

Si quieres eliminar los volúmenes del sistema, añade la opción -v al comando anterior:

$ docker compose down -v

Este comando eliminará todos los datos generados por el programa, incluidos los modelos.

Dependencias

Consulta requirements.txt para obtener informacíon sobre los requerimientos del programa.

Codeowners

Este proyecto fue realizado durante el hackathon HackUDC 2026, en la Universidade da Coruña, por el siguiente equipo de desarrolladores:

Más información sobre contribuciones individuales en CONTRIBUTORS.md.

Licencia

Este repositorio sigue la GNU General Public License (GPLv3). Se permite la copia y distribución de copias literales de esta licencia, pero no se permite su modificación. Para más información, consulta LICENSE.

About

¡La forma más cómoda de gestionar todos tus documentos!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages