Data · AI · Research

Aeromedical RAG engine

The open technical engine behind pilot fitness evaluation: a Dual-Engine architecture (air-gapped RAG + ML) built on public data and regulations.

The technical engine — open source. The product is private; the engineering behind it is not. See the product (Aeronautical medical fitness assessment) →

1 star2026role: autor único (proyecto universitario)status: activo
procedural cover — real screenshots pendingProcedural cover for the project Aeromedical RAG engine.

01 Problem and context

Evaluar la aptitud médica de un piloto exige cruzar señales clínicas con una normativa extensa, y hacerlo de forma reproducible y trazable. Este repositorio es el motor técnico que resuelve esa parte con datos y documentos públicos, sin exponer nada comercialmente sensible.

02 Solution

Dos motores acoplados: (1) un modelo predictivo clásico estima el riesgo y (2) un motor RAG local responde citando la normativa aplicable; un «prompt puente» inyecta la salida del modelo como contexto del LLM. Todo air-gapped, para que ningún dato salga del entorno.

03 Results

Verifiable figures in the repository and its documentation:

0.65Recall en la clase de riesgo (priorizado)
0.75 · ±1.3%F1 promedio en K-Fold (k=5)
0.48F1 en la clase de riesgo

04 How it's built

Dual-Engine Architecture: a locally executed, air-gapped RAG engine using Ollama, Mistral-7B, and vector embeddings (nomic-embed-text) built on public aeronautical and medical regulations (DAN 19/61/67/121/135, OACI Medical Manual 8984), integrated via a bridge prompt with a

05 Highlights

  • Dual-Engine architecture: air-gapped RAG engine (Ollama + Mistral-7B + nomic-embed-text vector embeddings) coupled to a predictive model via a "bridge prompt".
  • Model comparison with an honest baseline: Random Forest (winner) vs SVM-RBF vs Logistic Regression as baseline; SMOTE balancing to address a 90/10 imbalance.
  • Data preparation: KNN imputation, IQR outlier detection, normalization with StandardScaler, and unsupervised analysis with K-Means (k=3) + PCA to explore structure.
  • K-Fold validation (k=5): average F1 0.75 (±1.3%). In the risk class, Recall (0.65) is prioritized over Precision (0.38) —F1 0.48—: in medicine, the costly error is a false negative. Metrics from the pipeline prior to accuracy optimization.
  • Dataset declared as a proxy: CCHS (Canadian general population, public), not pilot data. An explicit limitation, not hidden data.

06 Limitations

El dataset es el CCHS (Canadian Community Health Survey), una encuesta de salud de población general canadiense, pública (Kaggle) — NO datos de pilotos reales. Es un dataset proxy, elegido ante la ausencia de datos aeromédicos abiertos, y se declara como tal: es una limitación explícita del estudio.

07 Screenshots