Spaces:
Running
Running
Jose Salazar commited on
Commit ·
c943c9a
1
Parent(s): b819476
Send only abnormal findings and strengthen anti-reasoning prompt
Browse files
js/ia.js
CHANGED
|
@@ -51,19 +51,10 @@ function construirPrompt(obtenerDatosPaciente, obtenerValoresFormulario, getUlti
|
|
| 51 |
const totalImagenes = imagenesDataUrl.filter(Boolean).length + capturasMicroscopio.length;
|
| 52 |
const hayImagenes = totalImagenes > 0;
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
: 'Todos los valores dentro de rangos de referencia.';
|
| 59 |
-
} else {
|
| 60 |
-
lineasValores = Object.entries(valores).map(([clave, valor]) => {
|
| 61 |
-
const ref = refEspecie[clave];
|
| 62 |
-
const nombre = ref?.nombre || clave;
|
| 63 |
-
const unidad = ref?.unidad || '';
|
| 64 |
-
return ` ${nombre}: ${valor} ${unidad}`;
|
| 65 |
-
}).join('\n') || 'Sin valores ingresados';
|
| 66 |
-
}
|
| 67 |
|
| 68 |
const edadTexto = paciente.edadMeses != null
|
| 69 |
? (paciente.edadMeses < 24 ? `${Math.round(paciente.edadMeses)} meses` : `${(paciente.edadMeses / 12).toFixed(1)} años`)
|
|
@@ -78,19 +69,19 @@ function construirPrompt(obtenerDatosPaciente, obtenerValoresFormulario, getUlti
|
|
| 78 |
cierre = `Proporciona una interpretación clínica breve (8-10 oraciones) destacando los hallazgos más significativos y las recomendaciones diagnósticas inmediatas.`;
|
| 79 |
}
|
| 80 |
|
| 81 |
-
return `INSTRUCCIONES
|
| 82 |
-
1. Responde ÚNICAMENTE en español.
|
| 83 |
-
2.
|
| 84 |
-
3.
|
| 85 |
-
4.
|
|
|
|
| 86 |
|
| 87 |
${notaImagenes ? `${notaImagenes}\n` : ''}
|
| 88 |
-
Eres
|
| 89 |
-
Analiza los resultados y proporciona una interpretación clínica concisa.
|
| 90 |
|
| 91 |
Paciente: ${paciente.especie || 'desconocido'}, raza: ${paciente.raza || 'NE'}, edad: ${edadTexto}, sexo: ${paciente.sexo || 'NE'}
|
| 92 |
|
| 93 |
-
|
| 94 |
${lineasValores}
|
| 95 |
|
| 96 |
${signosText ? `Signos clínicos: ${signosText}` : ''}
|
|
|
|
| 51 |
const totalImagenes = imagenesDataUrl.filter(Boolean).length + capturasMicroscopio.length;
|
| 52 |
const hayImagenes = totalImagenes > 0;
|
| 53 |
|
| 54 |
+
// SIEMPRE enviar solo hallazgos anormales para reducir razonamiento del modelo
|
| 55 |
+
const lineasValores = hallazgos.length > 0
|
| 56 |
+
? hallazgos.map(h => ` ${h.nombre}: ${h.valor} ${h.unidad || ''} (${h.direccion} · ${h.gravedad})`).join('\n')
|
| 57 |
+
: 'Todos los valores dentro de rangos de referencia.';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
|
| 59 |
const edadTexto = paciente.edadMeses != null
|
| 60 |
? (paciente.edadMeses < 24 ? `${Math.round(paciente.edadMeses)} meses` : `${(paciente.edadMeses / 12).toFixed(1)} años`)
|
|
|
|
| 69 |
cierre = `Proporciona una interpretación clínica breve (8-10 oraciones) destacando los hallazgos más significativos y las recomendaciones diagnósticas inmediatas.`;
|
| 70 |
}
|
| 71 |
|
| 72 |
+
return `INSTRUCCIONES OBLIGATORIAS — INCUMPLIR CUALQUIERA INVALIDA LA RESPUESTA:
|
| 73 |
+
1. Responde ÚNICAMENTE en español. Prohibido el inglés.
|
| 74 |
+
2. Prohibido mostrar razonamiento, pasos, numeración, listas de análisis o proceso interno.
|
| 75 |
+
3. Prohibido usar: thought, thinking, here's a, process, step, analyze, review, step-by-step.
|
| 76 |
+
4. La respuesta DEBE comenzar INMEDIATAMENTE con la interpretación clínica. Sin preámbulos.
|
| 77 |
+
5. Máximo 10 oraciones. Sé directo y conciso.
|
| 78 |
|
| 79 |
${notaImagenes ? `${notaImagenes}\n` : ''}
|
| 80 |
+
Eres médico veterinario especialista en patología clínica.
|
|
|
|
| 81 |
|
| 82 |
Paciente: ${paciente.especie || 'desconocido'}, raza: ${paciente.raza || 'NE'}, edad: ${edadTexto}, sexo: ${paciente.sexo || 'NE'}
|
| 83 |
|
| 84 |
+
Hallazgos de laboratorio:
|
| 85 |
${lineasValores}
|
| 86 |
|
| 87 |
${signosText ? `Signos clínicos: ${signosText}` : ''}
|