UPDATE 03-Nov
This commit is contained in:
@@ -74,6 +74,14 @@ public class ConversationContextMapper {
|
|||||||
text += " " + entry.parameters().toString();
|
text += " " + entry.parameters().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (entry.type() == MessageType.AGENT) {
|
||||||
|
text = cleanAgentMessage(text);
|
||||||
|
}
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String cleanAgentMessage(String message) {
|
||||||
|
return message.replaceAll("\\s*\\{.*\\}\\s*$", "").trim();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
package com.example.mapper.messagefilter;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
public class ConversationContextMapperTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCleanAgentMessage() throws Exception {
|
||||||
|
ConversationContextMapper mapper = new ConversationContextMapper();
|
||||||
|
Method method = ConversationContextMapper.class.getDeclaredMethod("cleanAgentMessage", String.class);
|
||||||
|
method.setAccessible(true);
|
||||||
|
|
||||||
|
String input = "Agent: ¡Seguro, déjame buscarlo para ti! 😉 El 'mejor' banco es " +
|
||||||
|
"subjetivo y depende de sus necesidades financieras personales. Para determinar " +
|
||||||
|
"cuál es el más adecuado para usted, considere los siguientes factores:\n" +
|
||||||
|
"* **Comisiones y cargos**: Evalúe las tarifas por mantenimiento de cuenta, " +
|
||||||
|
"transferencias, retiros en cajeros automáticos de otras redes, y otros servicios.\n" +
|
||||||
|
"* **Tasas de interés**: Compare las tasas de interés ofrecidas en cuentas de " +
|
||||||
|
"ahorro, depósitos a plazo fijo y préstamos.\n" +
|
||||||
|
"* **Servicios y productos**: Verifique si el banco ofrece los productos que " +
|
||||||
|
"necesita, como cuentas corrientes, cuentas de ahorro, tarjetas de crédito, " +
|
||||||
|
"hipotecas, inversiones, etc.\n" +
|
||||||
|
"* **Accesibilidad y conveniencia**: Considere la ubicación de sucursales y " +
|
||||||
|
"cajeros automáticos, la calidad de la banca en línea y móvil, y el servicio al " +
|
||||||
|
"cliente.\n" +
|
||||||
|
"* **Tecnología**: Evalúe la facilidad de uso de sus plataformas digitales, la " +
|
||||||
|
"seguridad y las herramientas de gestión financiera que ofrecen.\n" +
|
||||||
|
"**Ejemplo**: Si usted realiza muchas transacciones en línea y rara vez visita una " +
|
||||||
|
"sucursal, un banco con una excelente aplicación móvil y bajas comisiones por " +
|
||||||
|
"transacciones digitales podría ser ideal. Si, por el contrario, prefiere la " +
|
||||||
|
"atención personalizada, un banco con una red de sucursales amplia y un buen " +
|
||||||
|
"servicio al cliente presencial sería más adecuado.\n" +
|
||||||
|
"**Siguientes pasos**: Le recomendamos investigar y comparar al menos tres bancos " +
|
||||||
|
"diferentes basándose en sus prioridades financieras. Revise sus sitios web, lea " +
|
||||||
|
"las condiciones de sus productos y, si es posible, consulte opiniones de otros " +
|
||||||
|
"usuarios para tomar una decisión informada. \n" +
|
||||||
|
"{response=El 'mejor' banco es subjetivo y depende de sus necesidades financieras " +
|
||||||
|
"personales. Para determinar cuál es el más adecuado para usted, considere los " +
|
||||||
|
"siguientes factores:* **Comisiones y cargos**: Evalúe las tarifas por " +
|
||||||
|
"mantenimiento de cuenta, transferencias, retiros en cajeros automáticos de " +
|
||||||
|
"otras redes, y otros servicios.* **Tasas de interés**: Compare las tasas de " +
|
||||||
|
"interés ofrecidas en cuentas de ahorro, depósitos a plazo fijo y préstamos." +
|
||||||
|
"* **Servicios y productos**: Verifique si el banco ofrece los productos que " +
|
||||||
|
"necesita, como cuentas corrientes, cuentas de ahorro, tarjetas de crédito, " +
|
||||||
|
"hipotecas, inversiones, etc.* **Accesibilidad y conveniencia**: Considere la " +
|
||||||
|
"ubicación de sucursales y cajeros automáticos, la calidad de la banca en línea y " +
|
||||||
|
"móvil, y el servicio al cliente.* **Tecnología**: Evalúe la facilidad de uso " +
|
||||||
|
"de sus plataformas digitales, la seguridad y las herramientas de gestión " +
|
||||||
|
"financiera que ofrecen.**Ejemplo**: Si usted realiza muchas transacciones en línea " +
|
||||||
|
"y rara vez visita una sucursal, un banco con una excelente aplicación móvil y " +
|
||||||
|
"bajas comisiones por transacciones digitales podría ser ideal. Si, por el " +
|
||||||
|
"contrario, prefiere la atención personalizada, un banco con una red de " +
|
||||||
|
"sucursales amplia y un buen servicio al cliente presencial sería más adecuado." +
|
||||||
|
"**Siguientes pasos**: Le recomendamos investigar y comparar al menos tres bancos " +
|
||||||
|
"diferentes basándose en sus prioridades financieras. Revise sus sitios web, lea " +
|
||||||
|
"las condiciones de sus productos y, si es posible, consulte opiniones de otros " +
|
||||||
|
"Gente, tomen una decisión informada., telefono=123456789, pregunta_nueva=NO, " +
|
||||||
|
"usuario_id=user_by_phone_123456789, historial=que son las capsulas?cual es la mejor " +
|
||||||
|
"para mi?, query_inicial=Cual es el mejor banco?, canal=sigma, " +
|
||||||
|
"$request.generative.confirmacion_ayuda=¡Seguro, déjame buscarlo para ti! 😉, " +
|
||||||
|
"query=Cual es el mejor banco?, webhook_success=true, " +
|
||||||
|
"$request.generative.respuesta_algo_mas=¿Te puedo echar la mano con otra cosa? ¡Tú dime! 😎, " +
|
||||||
|
"conversacion_notificacion=false, nickname=John Doe, notificacion= }";
|
||||||
|
|
||||||
|
String expected = "Agent: ¡Seguro, déjame buscarlo para ti! 😉 El 'mejor' banco es " +
|
||||||
|
"subjetivo y depende de sus necesidades financieras personales. Para determinar " +
|
||||||
|
"cuál es el más adecuado para usted, considere los siguientes factores:\n" +
|
||||||
|
"* **Comisiones y cargos**: Evalúe las tarifas por mantenimiento de cuenta, " +
|
||||||
|
"transferencias, retiros en cajeros automáticos de otras redes, y otros servicios.\n" +
|
||||||
|
"* **Tasas de interés**: Compare las tasas de interés ofrecidas en cuentas de " +
|
||||||
|
"ahorro, depósitos a plazo fijo y préstamos.\n" +
|
||||||
|
"* **Servicios y productos**: Verifique si el banco ofrece los productos que " +
|
||||||
|
"necesita, como cuentas corrientes, cuentas de ahorro, tarjetas de crédito, " +
|
||||||
|
"hipotecas, inversiones, etc.\n" +
|
||||||
|
"* **Accesibilidad y conveniencia**: Considere la ubicación de sucursales y " +
|
||||||
|
"cajeros automáticos, la calidad de la banca en línea y móvil, y el servicio al " +
|
||||||
|
"cliente.\n" +
|
||||||
|
"* **Tecnología**: Evalúe la facilidad de uso de sus plataformas digitales, la " +
|
||||||
|
"seguridad y las herramientas de gestión financiera que ofrecen.\n" +
|
||||||
|
"**Ejemplo**: Si usted realiza muchas transacciones en línea y rara vez visita una " +
|
||||||
|
"sucursal, un banco con una excelente aplicación móvil y bajas comisiones por " +
|
||||||
|
"transacciones digitales podría ser ideal. Si, por el contrario, prefiere la " +
|
||||||
|
"atención personalizada, un banco con una red de sucursales amplia y un buen " +
|
||||||
|
"servicio al cliente presencial sería más adecuado.\n" +
|
||||||
|
"**Siguientes pasos**: Le recomendamos investigar y comparar al menos tres bancos " +
|
||||||
|
"diferentes basándose en sus prioridades financieras. Revise sus sitios web, lea " +
|
||||||
|
"las condiciones de sus productos y, si es posible, consulte opiniones de otros " +
|
||||||
|
"usuarios para tomar una decisión informada.";
|
||||||
|
String result = (String) method.invoke(mapper, input);
|
||||||
|
assertEquals(expected, result);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user