custom promtp no esstaba funcionando

This commit is contained in:
2025-11-26 00:13:32 -03:00
parent 98f0d94564
commit b867f11450
2 changed files with 64 additions and 25 deletions

View File

@@ -1591,13 +1591,25 @@ VALIDACIÓN DE IMAGEN:
- Si la imagen NO corresponde al contexto de la pregunta (por ejemplo, si piden luces pero muestran motor), indica en "recommendation" que deben cambiar la foto
- Si la imagen es borrosa, oscura o no permite análisis, indica en "recommendation" que tomen otra foto más clara
Responde en formato JSON:
Responde SOLO en formato JSON válido (sin markdown, sin ```json):
{{
"status": "ok|minor|critical",
"observations": "Análisis específico según el prompt personalizado, considerando el vehículo {inspection.vehicle_brand if inspection_id else ''}",
"recommendation": "Si la imagen no es apropiada, indica 'Por favor tome una foto de [componente correcto]'. Si es apropiada, da recomendación técnica.",
"confidence": 0.0-1.0
}}"""
"status": "ok",
"observations": "Análisis técnico específico según las instrucciones del prompt personalizado",
"recommendation": "Acción recomendada basada en el análisis",
"confidence": 0.85
}}
NOTA IMPORTANTE sobre el campo "status":
- Usa "ok" si el componente está en buen estado y pasa la inspección
- Usa "minor" si hay problemas leves que requieren atención pero no son críticos
- Usa "critical" si hay problemas graves que requieren reparación inmediata
RECORDATORIO: En tus observaciones, menciona si el estado es apropiado para el kilometraje y marca/modelo del vehículo."""
if vehicle_context:
user_message = f"Inspecciona esta imagen del vehículo y responde específicamente: {question_obj.text}. Aplica las instrucciones personalizadas y considera el contexto del vehículo en tu análisis."
else:
user_message = f"Inspecciona la imagen y responde específicamente: {question_obj.text}"
else:
# Prompt altamente específico para la pregunta
question_text = question_obj.text
@@ -1619,22 +1631,28 @@ VALIDACIÓN DE IMAGEN:
- Si la imagen NO corresponde al contexto de la pregunta, indica en "recommendation" que deben cambiar la foto
- Si la imagen es borrosa o no permite análisis, indica en "recommendation" que tomen otra foto más clara
Responde en formato JSON:
Responde SOLO en formato JSON válido (sin markdown, sin ```json):
{{
"status": "ok|minor|critical",
"observations": "Respuesta específica a: {question_text}",
"recommendation": "Si la imagen no es apropiada, indica 'Por favor tome una foto de [componente correcto]'. Si es apropiada, da acción técnica si aplica.",
"confidence": 0.0-1.0
"status": "ok",
"observations": "Respuesta técnica específica a: {question_text}",
"recommendation": "Acción técnica recomendada o mensaje si la foto no es apropiada",
"confidence": 0.85
}}
IMPORTANTE:
NOTA IMPORTANTE sobre el campo "status":
- Usa "ok" si el componente está en buen estado y pasa la inspección
- Usa "minor" si hay problemas leves que requieren atención pero no son críticos
- Usa "critical" si hay problemas graves que requieren reparación inmediata
RECUERDA:
- Responde SOLO lo que la pregunta pide
- No des información genérica del vehículo
- Sé específico y técnico
- Si la pregunta es pass/fail, indica claramente si pasa o falla
- Si la pregunta es bueno/regular/malo, indica el estado específico del componente"""
- Sé específico y técnico"""
user_message = f"Inspecciona la imagen y responde específicamente: {question_obj.text}"
if vehicle_context:
user_message = f"Inspecciona esta imagen del vehículo y responde específicamente: {question_obj.text}. En tus observaciones, menciona si el estado es apropiado para el kilometraje y marca/modelo del vehículo."
else:
user_message = f"Inspecciona la imagen y responde específicamente: {question_obj.text}"
else:
# Fallback para análisis general
system_prompt = f"""Eres un experto mecánico automotriz.
@@ -1647,13 +1665,15 @@ Analiza la imagen y proporciona:
3. Observaciones técnicas breves
4. Recomendación de acción
Responde en formato JSON:
Responde SOLO en formato JSON válido (sin markdown, sin ```json):
{{
"status": "ok|minor|critical",
"observations": "descripción técnica",
"status": "ok",
"observations": "descripción técnica del componente",
"recommendation": "acción sugerida",
"confidence": 0.0-1.0
}}"""
"confidence": 0.85
}}
NOTA: "status" debe ser "ok" (bueno), "minor" (problemas leves) o "critical" (problemas graves)."""
user_message = "Analiza este componente del vehículo para la inspección general."
if ai_config.provider == "openai":