Versión: 2.0
Autor: Alexander Saravia
Fecha de creación: 12/01/2025
Galenus AI es un asistente inteligente diseñado para brindar recomendaciones e insights sobre síntomas y recetas médicas. Este sistema analiza documentos médicos como imágenes, audio, PDF, Excel, y Word, proporcionando contextos relevantes, realizando búsquedas en la web y gestionando conocimiento a través de una arquitectura modular y escalable.
Este proyecto combina lo mejor de las tecnologías modernas para ofrecer una solución eficiente, segura y orientada a las necesidades médicas.
galenus_ai/
├── data/ # Almacena datos de entrada y salida para pruebas
│ ├── input/ # Documentos de entrada (PDF, imágenes, etc.)
│ └── output/ # Resultados procesados
├── docs/ # Documentación del proyecto
├── infra/ # Infraestructura y configuración
│ ├── configs/ # Archivos de configuración (.env)
│ └── docker/ # Archivos Docker
├── src/ # Código fuente del proyecto
│ ├── backend/ # Backend principal (FastAPI)
│ │ ├── app.py # Punto de entrada del backend
│ │ └── requirements.txt # Dependencias del backend
│ ├── frontend/ # Frontend (Flask)
│ │ ├── app.py # Punto de entrada del frontend
│ │ └── requirements.txt # Dependencias del frontend
│ ├── orchestrator/ # Orquestador para enrutar datos
│ │ └── main.py # Lógica del orquestador
│ ├── processors/ # Procesadores de datos
│ │ ├── text/ # Procesamiento de texto
│ │ ├── image/ # Procesamiento de imágenes
│ │ └── audio/ # Procesamiento de audio
│ ├── knowledge_base/ # Base de conocimiento (ChromaDB/OpenSearch)
│ │ └── database.py # Conexión a la base vectorial
│ └── cache/ # Gestión de caché (Redis)
│ └── redis_handler.py # Conexión y manejo de Redis
├── tests/ # Pruebas del proyecto
│ ├── unit/ # Pruebas unitarias
│ └── integration/ # Pruebas de integración
├── docker-compose.yml # Configuración de Docker Compose
├── .gitignore # Configuración para ignorar archivos en Git
├── README.md # Documentación principal del proyecto
Tecnología | Uso |
---|---|
Python 🐍 | Desarrollo del backend y microservicios (FastAPI). |
Docker 🐳 | Contenerización de los servicios para despliegue y escalabilidad. |
PostgreSQL 🐘 | Persistencia de datos: almacenamiento de logs y gestión de roles. |
Redis 🏎️ | Caché de datos para mejorar el rendimiento (manejo de tokens y consultas frecuentes). |
OpenSearch 🔍 | Base de conocimiento vectorial (alternativa: ChromaDB). |
Flask 🍰 | Orquestación de servicios y punto de acceso a la interfaz web. |
- Responde preguntas médicas basadas en síntomas y recetas.
- Genera recomendaciones contextuales apoyadas por búsquedas en la web.
- Soporte para múltiples formatos: imágenes, audio, PDF, Excel, Word, etc.
- Análisis detallado y extracción de insights.
- Orquestador de Entradas: Administra y distribuye los datos a los procesadores correspondientes.
- Procesadores especializados:
- Texto 📝
- Imágenes 🖼️
- Audio 🎙️
- Organizador de Conocimiento: Integra los datos procesados en una base vectorial.
- OpenSearch o ChromaDB: Almacenamiento y recuperación de información relevante utilizando embeddings vectoriales.
- Integración con roles y permisos para garantizar accesos controlados.
- Implementación de protocolos HTTPS para la protección de datos.
- Asistente IA: Motor principal que integra procesadores y la base de conocimiento.
- Orquestador de Entradas: Gestiona y enruta documentos a los procesadores adecuados.
- Procesadores: Analizan datos en diferentes formatos.
- Cache 1 y Cache 2: Redis para optimización de consultas.
- Base de Conocimiento: Recupera información clave de forma eficiente.
- Logs y Roles: Manejo de datos de interacción y control de acceso.
- Docker 🐳
- Python 3.9+ 🐍
- Redis 🏎️
- PostgreSQL 🐘
- OpenSearch o ChromaDB 🔍
- Clona el repositorio:
git clone https://github.com/tuusuario/galenus-ai.git cd galenus-ai
- Configura las variables de entorno en un archivo
.env
:POSTGRES_USER=usuario POSTGRES_PASSWORD=contraseña REDIS_URL=redis://localhost:6379 OPENSEARCH_URL=http://localhost:9200
- Usa Docker Compose para ejecutar los servicios:
docker-compose up -d
- Cifrado de datos: Implementa HTTPS para las comunicaciones entre cliente y servidor.
- Gestión de secretos: Utiliza herramientas como HashiCorp Vault para almacenar claves sensibles.
- Monitoreo: Incorpora Prometheus y Grafana para métricas y visualización.
- Implementación de Graph RAG para un análisis más detallado.
- Escalabilidad a Kubernetes para manejo de mayor tráfico.
- Soporte para nuevos formatos de documentos y modelos de análisis avanzados.
¡Eres bienvenido a contribuir! Abre un issue o crea un pull request con tus sugerencias y mejoras. 🚀
Espero que esta descripción sea útil para tu repositorio en GitHub. ¡Avísame si necesitas más detalles! 🎉