JairoCesar commited on
Commit
79f5bed
·
verified ·
1 Parent(s): 85370b4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +172 -23
app.py CHANGED
@@ -179,17 +179,50 @@ FOOD_TO_COMPOUND_MAP = {
179
  "bandeja paisa": ["fodmaps", "gos", "lectinas", "histamina", "tiramina", "aminas", "nitritos", "purinas", "alérgenos", "polioles"],
180
  "cholado": ["azúcar", "fructosa", "lácteos", "lactosa", "histamina", "salicilatos", "colorantes"]
181
  }
182
-
183
-
184
  # --- SEGURO LÓGICO DE INCOMPATIBILIDAD BIOQUÍMICA Y FÁRMACOS ---
 
185
  STRICT_COMPOUND_TRIGGERS = {
186
- "cafeína": ["cafeína", "caffeine", "café"],
187
- "gluten": ["gluten", "trigo", "cebada", "centeno"],
188
- "lactosa": ["lactosa", "lactose"],
189
- "caseína": ["caseína", "casein"],
190
- "tiramina": ["tiramina", "tyramine"],
191
- "sulfitos": ["sulfito", "sulfitos", "sulfite"],
192
- "solanina": ["solanina", "solanine"]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  }
194
 
195
  DRUG_KEYWORDS = ["fármaco", "farmaco", "medicamento", "imao", "remedio", "pastilla", "tratamiento", "antidepresiv"]
@@ -1369,27 +1402,143 @@ INTEGRATED_NEURO_FOOD_MAP = {
1369
  "fuentes_comunes": ["inflamación sistémica modulada por dieta rica en grasas/sacharosa; el pathway es endógeno pero sensible a la dieta y microbiota"]
1370
  }
1371
  }
1372
-
1373
  # --- DICCIONARIO ESCALABLE DE CONSEJOS CLÍNICOS POR COMPUESTO ---
1374
  CONSEJOS_POR_COMPUESTO = {
1375
- "gluten": "La respuesta al gluten varía según el grado de sensibilidad o compromiso inmunitario; se recomienda evaluar marcadores serológicos (Ac. anti-transglutaminasa IgA) antes de retirarlo permanentemente.",
1376
- "caseína": "La sensibilidad a la caseína involucra una respuesta proteica; considera alternativas vegetales o lácteos fermentados bajo supervisión.",
1377
- "lactosa": "La tolerancia a la lactosa depende de la actividad de la enzima lactasa y de la salud intestinal; se pueden evaluar productos deslactosados o suplementos de lactasa.",
1378
- "histamina": "La acumulación de histamina se relaciona con la capacidad de degradación enzimática (DAO); moderar alimentos madurados o conservados suele aliviar la carga sistémica.",
1379
- "tiramina": "La tiramina es una amina vasoactiva; controlar la ingesta de alimentos añejados o fermentados ayuda a reducir episodios vascular-migrañosos.",
1380
- "fructosa": "La malabsorción de fructosa depende de la capacidad de transporte intestinal (GLUT5); ajustar la carga por toma ayuda a estabilizar el eje digestivo.",
1381
- "fodmaps": "La tolerancia a carbohidratos fermentables varía según el microbioma intestinal; una estrategia de eliminación y reintroducción pausada define tu umbral personal.",
1382
- "cafeína": "La sensibilidad a la cafeína depende del aclaramiento hepático (CYP1A2); moderar su consumo antes de mitad de tarde protege la arquitectura del sueño.",
1383
- "sulfitos": "Los sulfitos pueden inducir sensibilidad respiratoria o vascular; verificar etiquetas en vinos, desecados y conservas evita reacciones de sobrecarga.",
1384
- "oxalatos": "Los oxalatos pueden formar microcristales en presencia de disbiosis o baja hidratación; combinarlos con calcio dietético reduce su absorción intestinal.",
1385
- "saponinas": "Las saponinas alteran la tensión superficial de la mucosa intestinal; el remojo prolongado y lavado intensivo de granos reduce significativamente su impacto.",
1386
- "solanina": "La solanina en solanáceas puede afectar a personas con alta visceropercepción; consumir tubérculos bien maduros y cocidos minimiza su contenido."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1387
  }
1388
 
 
 
 
 
1389
  CONSEJO_GENERICO_DEFAULT = "Cada organismo posee una individualidad bioquímica única según su perfil enzimático y digestivo. Monitorear tus respuestas personales te permitirá adaptar la dieta a tu umbral de tolerancia."
1390
 
1391
  # --- GENERADOR DE INFORME LOCAL AUTOMÁTICO (SIN IA) ---
1392
- # --- GENERADOR DE INFORME LOCAL ESCALABLE POR DICCIONARIO ---
1393
  def generate_local_fallback_analysis(query, match, entities, food_compound_map, neuro_map):
1394
  saludo = "### 📋 Informe de Análisis Clínico-Nutricional (Modo Local / Alta Disponibilidad)\n"
1395
  hipotesis = f"**Hipótesis Probable:** Es muy probable que tus síntomas estén relacionados con **{match.get('condicion_asociada', 'una sensibilidad a compuestos alimentarios')}**.\n"
 
179
  "bandeja paisa": ["fodmaps", "gos", "lectinas", "histamina", "tiramina", "aminas", "nitritos", "purinas", "alérgenos", "polioles"],
180
  "cholado": ["azúcar", "fructosa", "lácteos", "lactosa", "histamina", "salicilatos", "colorantes"]
181
  }
 
 
182
  # --- SEGURO LÓGICO DE INCOMPATIBILIDAD BIOQUÍMICA Y FÁRMACOS ---
183
+ # --- SEGURO LÓGICO: MATRIZ AMPLIADA DE COMPUESTOS Y DESENCADENANTES ESTRICTOS ---
184
  STRICT_COMPOUND_TRIGGERS = {
185
+ # --- ESTIMULANTES Y ALCALOIDES ---
186
+ "cafeína": ["cafeína", "caffeine", "café", "coffee", "espresso", "energizante", "guaraná"],
187
+ "teobromina": ["teobromina", "theobromine", "cacao", "chocolate", "cocoa"],
188
+ "solanina": ["solanina", "solanine", "solanáceas", "nightshades", "tomate", "berenjena", "patata", "papa"],
189
+ "capsaicina": ["capsaicina", "capsaicin", "chile", "ají", "picante", "pimiento", "cayena"],
190
+
191
+ # --- PROTEÍNAS Y ALÉRGENOS MAYORES ---
192
+ "gluten": ["gluten", "trigo", "wheat", "cebada", "barley", "centeno", "rye", "seitan", "espelta", "triticale"],
193
+ "caseína": ["caseína", "casein", "casomorfina", "queso", "cheese", "lácteos"],
194
+ "soja": ["soja", "soya", "soy", "soybean", "tofu", "tempeh", "edamame", "lecitina de soja"],
195
+ "albúmina": ["albúmina", "albumin", "huevo", "egg", "clara de huevo"],
196
+
197
+ # --- CARBOHIDRATOS Y AZÚCARES (FODMAPs) ---
198
+ "lactosa": ["lactosa", "lactose", "suero de leche", "whey"],
199
+ "fructosa": ["fructosa", "fructose", "jarabe de maíz", "miel", "honey", "jarabe de agave"],
200
+ "fodmaps": ["fodmap", "fodmaps", "fructanos", "galactanos", "polyols", "poliole", "sorbitol", "xilitol", "manitol"],
201
+
202
+ # --- AMINAS BIÓGENAS ---
203
+ "histamina": ["histamina", "histamine", "diamino oxidasa", "dao", "histaminosis"],
204
+ "tiramina": ["tiramina", "tyramine", "queso maduro", "aged cheese"],
205
+ "feniletilamina": ["feniletilamina", "phenylethylamine"],
206
+ "cadaverina": ["cadaverina", "cadaverine"],
207
+ "putrescina": ["putrescina", "putrescine"],
208
+
209
+ # --- ANTINUTRIENTES Y FITOQUÍMICOS ---
210
+ "oxalatos": ["oxalato", "oxalatos", "oxalate", "oxalates", "ácido oxálico", "espinaca"],
211
+ "saponinas": ["saponina", "saponinas", "saponin", "saponins", "quinoa", "quinua"],
212
+ "lectinas": ["lectina", "lectinas", "lectin", "lectins", "frijoles", "legumbres"],
213
+ "fitatos": ["fitato", "fitatos", "phytate", "phytates", "ácido fítico"],
214
+ "salicilatos": ["salicilato", "salicilatos", "salicylate", "salicylates", "ácido salicílico"],
215
+ "taninos": ["tanino", "taninos", "tannin", "tannins"],
216
+
217
+ # --- ADITIVOS, PRESERVANTES Y OTROS ---
218
+ "sulfitos": ["sulfito", "sulfitos", "sulfite", "sulfites", "dióxido de azufre", "e220", "e221", "e222", "e223", "e224", "e225", "e226", "e227", "e228"],
219
+ "glutamato": ["glutamato", "glutamate", "glutamato monosódico", "msg", "umami", "sazonador", "e621"],
220
+ "nitritos": ["nitrito", "nitritos", "nitrato", "nitratos", "nitrite", "nitrate", "embutidos"],
221
+ "tartracina": ["tartracina", "tartrazina", "tartrazine", "colorante amarillo", "yellow 5", "e102"],
222
+ "alcohol": ["alcohol", "etanol", "ethanol", "licor", "cerveza", "vino", "trago"],
223
+ "purinas": ["purina", "purinas", "purine", "purines", "ácido úrico", "uric acid", "gota"],
224
+ "níquel": ["níquel", "niquel", "nickel"],
225
+ "fenilalanina": ["fenilalanina", "phenylalanine", "aspartamo", "aspartame"]
226
  }
227
 
228
  DRUG_KEYWORDS = ["fármaco", "farmaco", "medicamento", "imao", "remedio", "pastilla", "tratamiento", "antidepresiv"]
 
1402
  "fuentes_comunes": ["inflamación sistémica modulada por dieta rica en grasas/sacharosa; el pathway es endógeno pero sensible a la dieta y microbiota"]
1403
  }
1404
  }
 
1405
  # --- DICCIONARIO ESCALABLE DE CONSEJOS CLÍNICOS POR COMPUESTO ---
1406
  CONSEJOS_POR_COMPUESTO = {
1407
+ # --- PROTEÍNAS Y ALÉRGENOS ---
1408
+ "gluten": (
1409
+ "La respuesta al gluten debe diferenciar Enfermedad Celíaca, Sensibilidad al Gluten No Celíaca (SGNC) "
1410
+ "y alergia al trigo. Se recomienda realizar cribado serológico (Ac. anti-transglutaminasa tisular IgA e IgA total) "
1411
+ "antes de retirar el gluten para no negativizar falsamente las pruebas diagnósticas."
1412
+ ),
1413
+ "caseína": (
1414
+ "La proteína de la leche (especialmente la variante A1) libera beta-casomorfina-7 (BCM-7) durante la digestión, "
1415
+ "la cual puede desencadenar inflamación mucosa y ralentizar el tránsito intestinal. Se sugiere evaluar variantes A2 o lácteos fermentados."
1416
+ ),
1417
+ "soja": (
1418
+ "Contiene lectinas e inhibidores de tripsina que pueden alterar la mucosa intestinal en individuos sensibles. "
1419
+ "Las formas fermentadas tradicionales (tempeh, miso) reducen significativamente estos antinutrientes y mejoran la digestibilidad."
1420
+ ),
1421
+ "albúmina": (
1422
+ "La proteína de huevo (ovoalbúmina/ovomucoide) puede activar respuestas mediadas por IgE o IgG. La desnaturalización "
1423
+ "térmica prolongada (cocción completa) altera los epítopos conformacionales y reduce su alergenicidad."
1424
+ ),
1425
+
1426
+ # --- CARBOHIDRATOS Y SUGARS (FODMAPs) ---
1427
+ "lactosa": (
1428
+ "La intolerancia se debe a la baja expresión de la enzima lactasa en el ribete en cepillo del enterocito. "
1429
+ "La lactosa no absorbida genera carga osmótica e hiperfermentación colónica. Se puede manejar con lactasa exógena o productos deslactosados."
1430
+ ),
1431
+ "fructosa": (
1432
+ "La malabsorción surge por la saturación o baja densidad de los transportadores epiteliales GLUT-5. "
1433
+ "Consumir fructosa acompañada de glucosa en equimolaridad facilita su co-transporte por la vía GLUT-2, reduciendo el malestar."
1434
+ ),
1435
+ "fodmaps": (
1436
+ "Los carbohidratos fermentables (fructanos, galactanos, polioles) deben abordarse mediante un protocolo en 3 fases "
1437
+ "(Eliminación, Reintroducción y Personalización). Evita dietas de restricción permanente para proteger la diversidad del microbioma colónico."
1438
+ ),
1439
+ "polioles": (
1440
+ "Los alcoholes de azúcar (sorbitol, xilitol, manitol) se absorben lentamente por difusión pasiva, atrayendo agua al lumen intestinal "
1441
+ "y generando fermentación rápida por la microbiota, lo que desencadena distensión y aceleración del tránsito."
1442
+ ),
1443
+
1444
+ # --- AMINAS BIÓGENAS Y ESTIMULANTES ---
1445
+ "histamina": (
1446
+ "La acumulación de histamina se asocia a un déficit funcional o genético de la enzima Diamino Oxidasa (DAO) en el epitelio intestinal. "
1447
+ "Una dieta baja en histamina y rica en cofactores enzimáticos (Vitamina B6, C, Cobre, Zinc) ayuda a restaurar el equilibrio metabólico."
1448
+ ),
1449
+ "tiramina": (
1450
+ "Amina vasoactiva simpaticomimética indirecta que estimula la liberación de noradrenalina. En personas con capacidad limitada de degradación "
1451
+ "(MAO-A), los alimentos madurados o añejados pueden desencadenar cefaleas vasculares y picos de presión arterial."
1452
+ ),
1453
+ "feniletilamina": (
1454
+ "Amina presente en el cacao y quesos que modula la neurotransmisión aminérgica. En individuos sensibles puede inducir "
1455
+ "vasoconstricción cerebral seguida de vasodilatación reactiva, desencadenando episodios migrañosos."
1456
+ ),
1457
+ "cafeína": (
1458
+ "Metabolizada en el hígado por la enzima citocromo CYP1A2. Los metabolizadores lentos o personas con alta visceropercepción "
1459
+ "pueden experimentar taquicardia, ansiedad e interrupción de las fases profundas del sueño por antagonismo de los receptores A1/A2A de adenosina."
1460
+ ),
1461
+ "teobromina": (
1462
+ "Metilxantina con menor estimulación del SNC que la cafeína pero mayor vida media. Produce relajación del esfínter esofágico inferior "
1463
+ "y estimulación cardíaca suave, lo que puede exacerbar el reflujo gastroesofágico en individuos predispuestos."
1464
+ ),
1465
+
1466
+ # --- ANTINUTRIENTES Y COMPUESTOS BOTÁNICOS ---
1467
+ "oxalatos": (
1468
+ "Los oxalatos libres se unen al calcio en el lumen intestinal formando cristales insolubles. Consumir alimentos ricos en oxalatos "
1469
+ "junto con fuentes de calcio dietético (o citratos) favorece su precipitación en el digestivo y evita su absorción y excreción renal."
1470
+ ),
1471
+ "saponinas": (
1472
+ "Glucósidos anfipáticos presentes en pseudocereales y legumbres que aumentan la permeabilidad celular. El lavado intensivo "
1473
+ "bajo agua corriente, el remojo prolongado y la decantación de la espuma reducen su concentración a niveles inocuos."
1474
+ ),
1475
+ "lectinas": (
1476
+ "Glicoproteínas resistentes a la degradación proteolítica que se unen a los carbohidratos de la pared intestinal. "
1477
+ "El remojo previo (mínimo 12h) y la cocción a alta temperatura (hervido prolongado o licuación térmica) inactivan las lectinas en legumbres."
1478
+ ),
1479
+ "fitatos": (
1480
+ "El ácido fítico quela minerales esenciales (Hierro, Zinc, Calcio, Magnesio) reduciendo su biodisponibilidad. "
1481
+ "Procesos como la germinación, fermentación con masa madre y remojo en medio ácido activan la enzima fitasa natural."
1482
+ ),
1483
+ "solanina": (
1484
+ "Glicoalcaloide esteroideo con acción inhibidora de la acetilcolinesterasa. Consumir hortalizas bien maduras, "
1485
+ "descartar partes verdes o brotadas en patatas y evitar la ingesta cruda minimiza la irritación de la mucosa."
1486
+ ),
1487
+ "salicilatos": (
1488
+ "Compuestos fenólicos que modulan la vía de la ciclooxigenasa (COX). En personas con intolerancia a la aspirina o pseudoalergia "
1489
+ "a salicilatos, pueden provocar urticaria, broncospasmo o hiperactividad por alteración en los leucotrienos."
1490
+ ),
1491
+ "taninos": (
1492
+ "Polifenoles astringentes que precipitan las proteínas digestivas e inhiben la absorción de hierro no hemo. "
1493
+ "Separar el consumo de té, café o vino de las comidas principales optimiza la biodisponibilidad mineral."
1494
+ ),
1495
+ "capsaicina": (
1496
+ "Agonista de los receptores vaniloides TRPV1 en nociceptores intestinales. Aunque promueve la motilidad, "
1497
+ "en pacientes con síndrome de intestino irritable (SII) o gastritis activa induce hiperalgesia visceral y ardor."
1498
+ ),
1499
+
1500
+ # --- ADITIVOS, PRESERVANTES Y OTROS ---
1501
+ "sulfitos": (
1502
+ "Conservantes que pueden desencadenar broncoconstricción o cefaleas por déficit de la enzima sulfito oxidasa o estimulación "
1503
+ "del nervio vago. Comunes en vinos, frutas desecadas y mariscos congelados."
1504
+ ),
1505
+ "glutamato": (
1506
+ "El glutamato monosódico (GMS) actúa como neurotransmisor excitatorio en el SNC y receptores enterales. "
1507
+ "En personas sensibles a la carga excitotóxica puede inducir cefaleas, rubor y tensión muscular (Síndrome del Restaurante Chino)."
1508
+ ),
1509
+ "nitritos": (
1510
+ "Conservantes de carnes curadas que generan vasodilatación directa mediante la vía óxido nítrico y pueden reaccionar "
1511
+ "con aminas secundarias formando nitrosaminas. Se sugiere acompañar de antioxidantes (Vitamina C) para inhibir su nitrosación."
1512
+ ),
1513
+ "tartracina": (
1514
+ "Colorante azoico que estimula la degranulación directa de mastocitos sin mediación de IgE, desencadenando "
1515
+ "liberación de histamina, broncospasmo, urticaria o disrupción del comportamiento en subgrupos sensibles."
1516
+ ),
1517
+ "alcohol": (
1518
+ "El acetaldehído (metabolito del etanol) daña los enterocitos, incrementa la secreción de zonulina (permeabilidad intestinal) "
1519
+ "e inhibe competitivamente a la enzima DAO, exacerbando los síntomas por aminas biógenas."
1520
+ ),
1521
+ "purinas": (
1522
+ "Catabolizadas a ácido úrico por la xantina oxidasa. El exceso de purinas (carnes rojas, mariscos, cerveza) predispone "
1523
+ "a hiperuricemia, nefrolitiasis y crisis de gota, especialmente con baja hidratación o consumo concomitante de fructosa."
1524
+ ),
1525
+ "níquel": (
1526
+ "En el Síndrome de Alergia Sistémica al Níquel (SNAS), la ingesta de alimentos ricos en níquel (cacao, legumbres, frutos secos) "
1527
+ "activa linfocitos T intestinales, provocando manifestaciones gastrointestinales y dermatológicas."
1528
+ ),
1529
+ "fenilalanina": (
1530
+ "Aminoácido esencial precursor de tirosina y catecolaminas. Crítico en fenilcetonuria (PKU) e implicado en desencadenar "
1531
+ "respuestas vasculares cuando se consume en dosis concentradas (como en el endulzante aspartamo)."
1532
+ )
1533
  }
1534
 
1535
+ CONSEJO_GENERICO_DEFAULT = (
1536
+ "Cada organismo posee una individualidad bioquímica única influenciada por su genética, perfil enzimático y microbiota intestinal. "
1537
+ "Identificar tu umbral de tolerancia personal mediante un registro sistemático de síntomas te permitirá adaptar tu nutrici��n de forma segura."
1538
+ )
1539
  CONSEJO_GENERICO_DEFAULT = "Cada organismo posee una individualidad bioquímica única según su perfil enzimático y digestivo. Monitorear tus respuestas personales te permitirá adaptar la dieta a tu umbral de tolerancia."
1540
 
1541
  # --- GENERADOR DE INFORME LOCAL AUTOMÁTICO (SIN IA) ---
 
1542
  def generate_local_fallback_analysis(query, match, entities, food_compound_map, neuro_map):
1543
  saludo = "### 📋 Informe de Análisis Clínico-Nutricional (Modo Local / Alta Disponibilidad)\n"
1544
  hipotesis = f"**Hipótesis Probable:** Es muy probable que tus síntomas estén relacionados con **{match.get('condicion_asociada', 'una sensibilidad a compuestos alimentarios')}**.\n"