Romanes commited on
Commit
8eef104
·
verified ·
1 Parent(s): cc576bb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +156 -0
app.py CHANGED
@@ -199,6 +199,162 @@ REGLAS = [
199
  },
200
  'motivo': 'Auto (equipo de cómputo). ~54 ejemplos en Excel; excluye impresoras y periféricos (reglas separadas).',
201
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
202
  ]
203
 
204
  def aplicar_reglas(query: str):
 
199
  },
200
  'motivo': 'Auto (equipo de cómputo). ~54 ejemplos en Excel; excluye impresoras y periféricos (reglas separadas).',
201
  },
202
+ # REGLA: Honorarios / Servicios profesionales (sin "OPS")
203
+ # CUÁNDO: "honorarios", "contratar profesional", "asesoría", "consultoría".
204
+ {
205
+ "keywords": ["honorarios", "contratar profesional", "profesional independiente", "asesoria", "consultoria"],
206
+ "respuesta": {
207
+ "CICP": ("2.1.2.02.02.008", "Servicios prestados a las empresas y servicios de producción"),
208
+ "CPC": ("8", "Servicios técnicos y profesionales"),
209
+ "UNSPSC":("80111600", "Servicios de personal temporal"),
210
+ },
211
+ "motivo": "Honorarios/servicios profesionales sin mención explícita de OPS",
212
+ },
213
+
214
+ # REGLA: Transporte TERRESTRE de pasajeros
215
+ # CUÁNDO: "transporte terrestre", "bus", "terrestre".
216
+ {
217
+ "keywords": ["transporte terrestre", "terrestre", "bus", "autobus"],
218
+ "respuesta": {
219
+ "CICP": ("2.3.2.02.02.006", "Servicios prestados a las empresas y servicios de producción"),
220
+ "CPC": ("6", "Servicios de transporte de pasajeros"),
221
+ "UNSPSC": ("78111800", "Servicios de transporte terrestre"),
222
+ },
223
+ "motivo": "Traslados terrestres a eventos/misiones",
224
+ },
225
+
226
+ # REGLA: Alojamiento / Hospedaje (hotel)
227
+ # CUÁNDO: "hospedaje", "alojamiento", "hotel".
228
+ {
229
+ "keywords": ["hospedaje", "alojamiento", "hotel"],
230
+ "respuesta": {
231
+ "CICP": ("2.3.2.02.02.010", "Servicios administrativos de apoyo"),
232
+ "CPC": ("901", "Gastos directos de la administración pública"),
233
+ "UNSPSC": ("90111500", "Hoteles y alojamiento"),
234
+ },
235
+ "motivo": "Hospedaje asociado a comisiones y eventos",
236
+ },
237
+
238
+ # REGLA: Papelería y útiles (BIEN)
239
+ # CUÁNDO: "papelería", "papel", "resma", "cuaderno".
240
+ {
241
+ "keywords": ["papeleria", "papel", "resma", "resmas", "cuaderno", "cuadernos"],
242
+ "respuesta": {
243
+ "CICP": ("2.3.2.02.01.003", "Otros bienes transportables"),
244
+ "CPC": ("3", "Suministros y papelería (bienes)"),
245
+ "UNSPSC": ("14111500", "Papel de oficina"),
246
+ },
247
+ "motivo": "Papelería/consumibles generales",
248
+ },
249
+
250
+ # REGLA: Tóner y consumibles de impresión (BIEN)
251
+ # CUÁNDO: "tóner", "cartucho(s)".
252
+ {
253
+ "keywords": ["toner", "cartucho", "cartuchos"],
254
+ "respuesta": {
255
+ "CICP": ("2.3.2.02.01.003", "Otros bienes transportables"),
256
+ "CPC": ("3", "Consumibles de impresión (bienes)"),
257
+ "UNSPSC": ("44103100", "Consumibles para impresoras"),
258
+ },
259
+ "motivo": "Consumibles para impresión",
260
+ },
261
+
262
+ # REGLA: Impresoras / Multifuncionales (BIEN)
263
+ # CUÁNDO: "impresora", "impresoras", "multifuncional".
264
+ {
265
+ "keywords": ["impresora", "impresoras", "multifuncional", "multifuncionales"],
266
+ "respuesta": {
267
+ "CICP": ("2.3.2.02.01.004", "Productos metálicos, maquinaria y equipo"),
268
+ "CPC": ("4", "Maquinaria y equipo (bienes)"),
269
+ "UNSPSC": ("43212100", "Impresoras y periféricos de impresión"),
270
+ },
271
+ "motivo": "Adquisición de impresoras como bienes",
272
+ },
273
+
274
+ # REGLA: Periféricos de cómputo (BIEN)
275
+ # CUÁNDO: "monitor", "teclado", "mouse", "periférico".
276
+ {
277
+ "keywords": ["monitor", "monitores", "teclado", "teclados", "mouse", "periferico", "perifericos"],
278
+ "respuesta": {
279
+ "CICP": ("2.3.2.02.01.004", "Productos metálicos, maquinaria y equipo"),
280
+ "CPC": ("4", "Equipo y periféricos de cómputo (bienes)"),
281
+ "UNSPSC": ("43211600", "Accesorios/periféricos de computadora"),
282
+ },
283
+ "motivo": "Periféricos y accesorios de TI como bienes",
284
+ },
285
+
286
+ # REGLA: Equipo de laboratorio (BIEN)
287
+ # CUÁNDO: "equipo de laboratorio", "microscopio", "balanza", "centrifuga", "espectrofotometro".
288
+ # NOTA: No confundir con SERVICIOS de análisis (que ya tienes como espectrometría/ensayos).
289
+ {
290
+ "keywords": ["equipo de laboratorio", "microscopio", "balanza", "centrifuga", "centrifugo", "espectrofotometro", "espectrofotometros"],
291
+ "respuesta": {
292
+ "CICP": ("2.3.2.02.01.004", "Productos metálicos, maquinaria y equipo"),
293
+ "CPC": ("4", "Equipo científico/laboratorio (bienes)"),
294
+ "UNSPSC": ("41110000", "Equipos científicos y de laboratorio"),
295
+ },
296
+ "motivo": "Adquisición de equipo científico como bien",
297
+ },
298
+
299
+ # REGLA: Mensajería y envíos (courier)
300
+ # CUÁNDO: "envío", "mensajería", "paquetería", "courier".
301
+ {
302
+ "keywords": ["envio", "envios", "mensajeria", "paqueteria", "courier"],
303
+ "respuesta": {
304
+ "CICP": ("2.3.2.02.02.006", "Servicios prestados a las empresas y servicios de producción"),
305
+ "CPC": ("6", "Servicios de mensajería y correo"),
306
+ "UNSPSC": ("80131500", "Servicios de mensajería/courier"),
307
+ },
308
+ "motivo": "Logística de envíos de documentos/paquetes",
309
+ },
310
+
311
+ # REGLA: Capacitación / Formación (servicio)
312
+ # CUÁNDO: "capacitacion", "formacion", "curso", "seminario", "taller" (cuando no se menciona explícitamente "inscripción").
313
+ {
314
+ "keywords": ["capacitacion", "formacion", "curso", "cursos", "seminario", "seminarios", "taller", "talleres"],
315
+ "respuesta": {
316
+ "CICP": ("2.3.2.02.02.009", "Servicios para la comunidad"),
317
+ "CPC": ("901", "Gastos directos de la administración pública"),
318
+ "UNSPSC": ("86100000", "Servicios de educación y formación"),
319
+ },
320
+ "motivo": "Servicios de formación/capacitación distintos al ítem de inscripción",
321
+ },
322
+
323
+ # REGLA: Mobiliario de oficina (BIEN)
324
+ # CUÁNDO: "silla", "mesa", "escritorio", "mobiliario".
325
+ {
326
+ "keywords": ["mobiliario", "mueble", "muebles", "silla", "sillas", "mesa", "mesas", "escritorio", "escritorios"],
327
+ "respuesta": {
328
+ "CICP": ("2.3.2.02.01.003", "Otros bienes transportables"),
329
+ "CPC": ("3", "Mobiliario de oficina (bienes)"),
330
+ "UNSPSC": ("56100000", "Mobiliario de oficina"),
331
+ },
332
+ "motivo": "Compra de muebles y dotación",
333
+ },
334
+
335
+ # REGLA: Producción audiovisual / video (servicio)
336
+ # CUÁNDO: "video", "producción audiovisual", "grabación".
337
+ {
338
+ "keywords": ["video", "produccion audiovisual", "grabacion", "edicion de video"],
339
+ "respuesta": {
340
+ "CICP": ("2.3.2.02.02.008", "Servicios prestados a las empresas y servicios de producción"),
341
+ "CPC": ("8", "Servicios creativos y de medios"),
342
+ "UNSPSC": ("82111600", "Servicios de producción de video"),
343
+ },
344
+ "motivo": "Servicios de registro/edición/producción de contenidos",
345
+ },
346
+
347
+ # REGLA: Apoyos / Auxiliares / Monitores (servicio)
348
+ # CUÁNDO: "apoyo", "auxiliar", "monitor", "estudiante" (cuando se refiera a apoyo operativo).
349
+ {
350
+ "keywords": ["apoyo", "auxiliar", "auxiliares", "monitor", "monitores", "estudiante", "estudiantes"],
351
+ "respuesta": {
352
+ "CICP": ("2.1.2.02.02.008", "Servicios prestados a las empresas y servicios de producción"),
353
+ "CPC": ("8", "Servicios de apoyo y personal"),
354
+ "UNSPSC":("80111600", "Servicios de personal temporal"),
355
+ },
356
+ "motivo": "Apoyos operativos/auxiliares vinculados por servicios",
357
+ },
358
  ]
359
 
360
  def aplicar_reglas(query: str):