Home - SunNeurotron/Aletheia GitHub Wiki
https://github.com/SunNeurotron/Aletheia.git Página Principal: Home.md Welcome to the Aletheia Wiki! Esta Wiki es la documentación oficial y en profundidad de la plataforma de descubrimiento científico Aletheia. Aquí encontrarás explicaciones detalladas sobre la arquitectura del sistema, los principios de diseño, las guías de contribución y la hoja de ruta de desarrollo. Para una guía de inicio rápido y ejecución, por favor consulta el README.md principal. Filosofía del Proyecto Aletheia (del griego ἀλήθεια, "des-ocultamiento" o "verdad") se construyó sobre un principio fundamental: fusionar la ingeniería de software de producción con el rigor de la investigación científica. El objetivo es proporcionar a los investigadores un instrumento potente y accesible que abstraiga la complejidad de los sistemas distribuidos y la IA, permitiéndoles centrarse en lo que mejor saben hacer: el descubrimiento. Navegación de la Wiki Para entender Aletheia a fondo, te recomendamos explorar las siguientes páginas en orden:
- Arquitectura Detallada: Una inmersión profunda en los 5 microservicios que componen la plataforma y cómo interactúan entre sí.
- El Cerebro de IA: El Intelligent ΩDrill: Una explicación conceptual y técnica de cómo funciona nuestro motor de búsqueda guiado por Optimización Bayesiana.
- Guía para Contribuidores: ¿Interesado en mejorar Aletheia? Esta guía explica cómo configurar el entorno de desarrollo, ejecutar los tests y proponer nuevas características.
- Hoja de Ruta de Desarrollo: Nuestra visión para el futuro de la plataforma, incluyendo las próximas características y las ideas de investigación a largo plazo.
Página Secundaria: Arquitectura Detallada.md
Arquitectura Detallada de Aletheia
Aletheia está diseñada como un ecosistema de microservicios contenerizados, siguiendo el patrón de Arquitectura Hexagonal. Esto asegura una alta cohesión, un bajo acoplamiento y una excelente escalabilidad.
(Opcional: puedes crear un diagrama simple con herramientas como diagrams.net y enlazarlo aquí) Los 5 Servicios Principales
- aletheia_dashboard (La Cabina de Mando) Tecnología: Streamlit Responsabilidad: Proporcionar la interfaz de usuario. Es un cliente stateless que se comunica exclusivamente con el servicio de API. No contiene ninguna lógica de negocio. Flujo: El usuario envía un formulario -> Se realiza una petición HTTP POST a aletheia_api. El usuario refresca -> Se realiza una petición HTTP GET a aletheia_api.
- aletheia_api (El Pórtico) Tecnología: FastAPI Responsabilidad: Actuar como el punto de entrada seguro y validado al sistema. Flujo: Recibe la petición del dashboard -> Valida los datos de entrada con Pydantic -> Crea un registro JobDB en la base de datos con estado "pending" -> Envía una tarea a la cola de Redis -> Devuelve una respuesta 202 Accepted inmediatamente.
- aletheia_redis (El Sistema Nervioso) Tecnología: Redis Responsabilidad: Servir como un message broker de alta velocidad. Desacopla completamente la API de los workers. Flujo: Almacena los mensajes de tareas enviados por la API en una cola. Los workers escuchan en esta cola para recoger nuevos trabajos.
- aletheia_db (La Biblioteca) Tecnología: PostgreSQL Responsabilidad: Ser la única fuente de verdad y memoria a largo plazo del sistema. Flujo: Almacena los Jobs creados por la API y los Hits descubiertos por los workers. Utiliza SQLAlchemy para el mapeo objeto-relacional (ORM).
- aletheia_worker (El Motor de Cómputo) Tecnología: Celery, scikit-optimize Responsabilidad: Ejecutar el trabajo pesado y la lógica de IA. Flujo: Escucha en la cola de Redis -> Recoge un ID de trabajo -> Consulta la base de datos para obtener los parámetros del trabajo -> Actualiza el estado del trabajo a "processing" -> Invoca al IntelligentSearchUseCase -> El caso de uso ejecuta el bucle de Optimización Bayesiana -> Guarda los "hits" encontrados en la base de datos -> Actualiza el estado del trabajo a "completed". Página Secundaria: El Cerebro de IA - El Intelligent ΩDrill.md El Cerebro de IA: El Intelligent ΩDrill El componente más innovador de Aletheia es su motor de búsqueda, que no utiliza fuerza bruta, sino un enfoque de descubrimiento guiado por IA. El Problema: El Vasto Océano de la Búsqueda El espacio de soluciones para problemas como la Conjetura abc es prácticamente infinito. Un enfoque de fuerza bruta (probar cada número) es computacionalmente inviable y extremadamente ineficiente. Es como intentar encontrar una aguja en un pajar quemando el pajar entero. La Solución: Optimización Bayesiana Nuestro Intelligent ΩDrill utiliza una técnica llamada Optimización Bayesiana, ideal para encontrar el máximo de una función "caja negra" que es costosa de evaluar. El proceso funciona así: Modelo Suplente (Surrogate Model): Mantenemos un modelo de probabilidad interno (un GaussianProcessRegressor) que representa nuestro "conocimiento" actual sobre cómo se comporta la calidad q a lo largo del espacio de búsqueda. Función de Adquisición (Acquisition Function): En lugar de elegir el siguiente punto al azar, usamos una función inteligente (Upper Confidence Bound - UCB) que equilibra dos necesidades: Explotación: Buscar cerca de las áreas donde ya hemos encontrado valores altos de q. Exploración: Investigar áreas donde nuestro modelo tiene mucha incertidumbre, ya que podrían esconder un "pico" de calidad aún mayor. Bucle de Aprendizaje Activo: a. La función de adquisición nos dice cuál es el punto más "prometedor" para probar a continuación. b. El worker evalúa la calidad q real en ese punto. c. El resultado (el par (punto, calidad)) se utiliza para actualizar y mejorar nuestro modelo suplente. d. Repetimos el ciclo. Con cada iteración, el sistema se vuelve más "inteligente" y sus sugerencias se vuelven más precisas, permitiéndonos "acercarnos" a los "hits" de mayor calidad mucho más rápido que cualquier búsqueda lineal.