✅ Backend v1.2.3
Cambio implementado: Ahora el prompt del asistente configurado en la pregunta es el system prompt completo. El sistema solo agrega: Contexto automático: Vehículo, OR, pregunta actual Instrucciones técnicas básicas: No inventar datos, pedir valores técnicos cuando falten Longitud de respuesta: Según configuración Beneficios: ✅ Tu prompt de "Omar" funciona exactamente como lo escribiste ✅ Mantienes control total del comportamiento del asistente ✅ El sistema solo complementa con contexto, no reemplaza tu prompt ✅ Más flexible para diferentes tipos de asistentes (diagnóstico, checklist, inspección, etc.)
This commit is contained in:
@@ -276,7 +276,7 @@ def extract_pdf_text_smart(pdf_content: bytes, max_chars: int = None) -> dict:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
BACKEND_VERSION = "1.2.2"
|
BACKEND_VERSION = "1.2.3"
|
||||||
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
|
app = FastAPI(title="Checklist Inteligente API", version=BACKEND_VERSION)
|
||||||
|
|
||||||
# S3/MinIO configuration
|
# S3/MinIO configuration
|
||||||
@@ -3541,36 +3541,31 @@ INFORMACIÓN DEL VEHÍCULO:
|
|||||||
attached_context += f"\n{idx}. Imagen: {file_info['filename']}\n"
|
attached_context += f"\n{idx}. Imagen: {file_info['filename']}\n"
|
||||||
|
|
||||||
# Construir el system prompt
|
# Construir el system prompt
|
||||||
base_prompt = assistant_prompt or "Eres un experto mecánico automotriz que ayuda a diagnosticar problemas."
|
# Si hay assistant_prompt en la pregunta, úsalo como base principal
|
||||||
|
if assistant_prompt:
|
||||||
|
base_prompt = assistant_prompt
|
||||||
|
else:
|
||||||
|
base_prompt = "Eres un experto mecánico automotriz que ayuda a diagnosticar problemas."
|
||||||
|
|
||||||
system_prompt = f"""INSTRUCCIONES CRÍTICAS ANTI-ALUCINACIÓN (MÁXIMA PRIORIDAD):
|
# Agregar instrucciones anti-alucinación y contexto al prompt del usuario
|
||||||
Estas reglas SIEMPRE tienen prioridad sobre cualquier otra instrucción:
|
system_prompt = f"""{base_prompt}
|
||||||
|
|
||||||
1. PRIMERO mira la imagen/documento y DESCRIBE LITERALMENTE lo que ves
|
|
||||||
2. VERIFICA si hay texto/logos/marcas visibles (ej: "TEXA", "Bosch", "ESI[tronic]")
|
|
||||||
3. Si la imagen muestra un analizador de gases (con mediciones CO, CO₂, HC, NOₓ, O₂, Lambda), NO ES un informe de códigos DTC
|
|
||||||
4. Si la imagen muestra una pantalla con códigos tipo "P0XXX" o "1XXXX", SÍ ES un informe de diagnóstico DTC
|
|
||||||
5. NUNCA inventes información que no esté visible en la imagen
|
|
||||||
6. Si lo que ves NO coincide con lo que el usuario pregunta, DÍSELO INMEDIATAMENTE
|
|
||||||
|
|
||||||
{base_prompt}
|
|
||||||
|
|
||||||
|
CONTEXTO DEL VEHÍCULO Y PREGUNTA:
|
||||||
{vehicle_context}
|
{vehicle_context}
|
||||||
|
|
||||||
{photos_context}
|
{photos_context}
|
||||||
|
|
||||||
{attached_context}
|
{attached_context}
|
||||||
|
|
||||||
INSTRUCCIONES ADICIONALES:
|
INSTRUCCIONES TÉCNICAS DEL SISTEMA:
|
||||||
{assistant_instructions if assistant_instructions else "Sé técnico, claro y directo en tus respuestas."}
|
- Basa tus respuestas SOLO en la información visible en documentos/imágenes enviadas
|
||||||
|
- Si necesitas datos técnicos (valores nominales, rangos de fabricante), pídelos explícitamente
|
||||||
|
- No inventes códigos DTC, voltajes, presiones ni valores que no estén visibles
|
||||||
|
- Si hay discrepancia entre lo que ves y lo que te preguntan, señálalo
|
||||||
|
|
||||||
FORMATO DE RESPUESTA OBLIGATORIO:
|
{assistant_instructions if assistant_instructions else ""}
|
||||||
1. [IDENTIFICACIÓN] Qué tipo de documento/imagen es esto (describe lo que VES, no lo que asumes)
|
|
||||||
2. [VERIFICACIÓN] ¿Coincide con lo que el usuario pregunta? Si NO, indícalo
|
|
||||||
3. [ANÁLISIS] Basado ÚNICAMENTE en información visible
|
|
||||||
4. [RECOMENDACIÓN] Pasos siguientes o información que necesitas
|
|
||||||
|
|
||||||
Longitud: {response_length}
|
Longitud de respuesta: {response_length}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Construir el historial de mensajes para la IA
|
# Construir el historial de mensajes para la IA
|
||||||
|
|||||||
Reference in New Issue
Block a user