Skip to content

Galenus AI es un asistente inteligente para brindar recomendaciones e insights médicos. Procesa texto, imágenes y audio, realiza búsquedas contextuales y organiza conocimiento en una base vectorial. Usa Python, Docker, PostgreSQL, Redis y OpenSearch/ChromaDB. Fácil de escalar y seguro. 🚀

Notifications You must be signed in to change notification settings

basaravia/galenus_ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

🌟 Galenus AI: Asistente Médico Inteligente 🌟

Versión: 2.0
Autor: Alexander Saravia
Fecha de creación: 12/01/2025

📖 Descripción del Proyecto

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.


📂 Estructura del Proyecto

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ías Utilizadas

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.

🚀 Características Principales

🎯 Asistente IA

  • Responde preguntas médicas basadas en síntomas y recetas.
  • Genera recomendaciones contextuales apoyadas por búsquedas en la web.

🗂️ Procesamiento de Documentos

  • Soporte para múltiples formatos: imágenes, audio, PDF, Excel, Word, etc.
  • Análisis detallado y extracción de insights.

⚙️ Arquitectura Modular

  • 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.

🧠 Base de Conocimiento

  • OpenSearch o ChromaDB: Almacenamiento y recuperación de información relevante utilizando embeddings vectoriales.

🔒 Seguridad

  • Integración con roles y permisos para garantizar accesos controlados.
  • Implementación de protocolos HTTPS para la protección de datos.

📊 Estructura de la Arquitectura

Arquitectura Conceptual

Componentes Clave

  1. Asistente IA: Motor principal que integra procesadores y la base de conocimiento.
  2. Orquestador de Entradas: Gestiona y enruta documentos a los procesadores adecuados.
  3. Procesadores: Analizan datos en diferentes formatos.
  4. Cache 1 y Cache 2: Redis para optimización de consultas.
  5. Base de Conocimiento: Recupera información clave de forma eficiente.
  6. Logs y Roles: Manejo de datos de interacción y control de acceso.

🌐 Cómo Ejecutar el Proyecto

1️⃣ Prerrequisitos

  • Docker 🐳
  • Python 3.9+ 🐍
  • Redis 🏎️
  • PostgreSQL 🐘
  • OpenSearch o ChromaDB 🔍

2️⃣ Configuración

  1. Clona el repositorio:
    git clone https://github.com/tuusuario/galenus-ai.git
    cd galenus-ai
  2. 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
    

3️⃣ Despliegue

  • Usa Docker Compose para ejecutar los servicios:
    docker-compose up -d

🛡️ Seguridad y Buenas Prácticas

  • 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.

🛠️ Futuras Mejoras

  • 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.

🤝 Contribuciones

¡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! 🎉

About

Galenus AI es un asistente inteligente para brindar recomendaciones e insights médicos. Procesa texto, imágenes y audio, realiza búsquedas contextuales y organiza conocimiento en una base vectorial. Usa Python, Docker, PostgreSQL, Redis y OpenSearch/ChromaDB. Fácil de escalar y seguro. 🚀

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published