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)
|
// 2. Guarda un parte de trabajo ya generado (texto final + firma + PDF en base64)
|
||||||
app.post("/services/:id/work-report", authMiddleware, async (req, res) => {
|
app.post("/services/:id/work-report", authMiddleware, async (req, res) => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user