Anade limpieza de descripcion con IA
This commit is contained in:
27
server.js
27
server.js
@@ -5077,6 +5077,33 @@ app.post("/work-reports/improve", authMiddleware, async (req, res) => {
|
||||
}
|
||||
});
|
||||
|
||||
// ✨ Reordena/limpia con IA la descripción de un servicio (solo para visualizar en el panel;
|
||||
// NO modifica raw_data en la base de datos). El texto que llega desde el robot de proveedores
|
||||
// a veces viene con saltos de línea raros o cortado; aquí solo mejoramos la REDACCIÓN,
|
||||
// nunca quitamos información: se le pide explícitamente a la IA que no omita ni resuma datos.
|
||||
app.post("/services/description/improve", authMiddleware, async (req, res) => {
|
||||
try {
|
||||
const { text } = req.body;
|
||||
if (!text || !text.toString().trim()) return res.status(400).json({ ok: false, error: "Falta el texto" });
|
||||
|
||||
const completion = await openai.chat.completions.create({
|
||||
model: OPENAI_MODEL || "gpt-4o-mini",
|
||||
messages: [
|
||||
{ role: "system", content: "Eres un asistente que ordena y limpia descripciones de avisos de reparación que llegan mal formateadas desde el portal de una aseguradora o cliente (con saltos de línea raros, abreviaturas, texto pegado o cortado). Reescribe el texto en español para que se lea claro y ordenado. Es muy importante que mantengas TODOS los datos y detalles del texto original (direcciones, referencias, horarios, nombres, cantidades, condiciones); no resumas quitando información ni inventes nada que no esté en el texto. Solo mejora la redacción, la puntuación y el orden. No uses markdown ni asteriscos." },
|
||||
{ role: "user", content: text.toString().trim() }
|
||||
],
|
||||
temperature: 0.2
|
||||
});
|
||||
|
||||
const improved = completion.choices?.[0]?.message?.content?.trim();
|
||||
if (!improved) return res.status(500).json({ ok: false, error: "La IA no ha devuelto ningún texto" });
|
||||
res.json({ ok: true, text: improved });
|
||||
} catch (e) {
|
||||
console.error("❌ Error mejorando descripción con IA:", e.message);
|
||||
res.status(500).json({ ok: false, error: "Error al contactar con la IA" });
|
||||
}
|
||||
});
|
||||
|
||||
// 2. Guarda un parte de trabajo ya generado (texto final + firma + PDF en base64)
|
||||
app.post("/services/:id/work-report", authMiddleware, async (req, res) => {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user