Jose Salazar commited on
Commit
c943c9a
·
1 Parent(s): b819476

Send only abnormal findings and strengthen anti-reasoning prompt

Browse files
Files changed (1) hide show
  1. js/ia.js +12 -21
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
- let lineasValores;
55
- if (hayImagenes) {
56
- lineasValores = hallazgos.length > 0
57
- ? hallazgos.map(h => ` ${h.nombre}: ${h.valor} ${h.unidad || ''} (${h.direccion} · ${h.gravedad})`).join('\n')
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 ESTRICTAS:
82
- 1. Responde ÚNICAMENTE en español. NUNCA escribas en inglés.
83
- 2. NO incluyas tu proceso de razonamiento, análisis paso a paso, ni pensamiento interno.
84
- 3. NO uses palabras como "thought", "thinking", "here's a thinking process", ni números de pasos.
85
- 4. Responde DIRECTAMENTE con la interpretación clínica final.
 
86
 
87
  ${notaImagenes ? `${notaImagenes}\n` : ''}
88
- Eres un médico veterinario especialista en patología clínica. Sólo responderás consultas asociadas a ésta área de conocimiento y basado en la evidencia proporcionada.
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
- Resultados de laboratorio:
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}` : ''}