La función de resguardo generativo usa los modelos grandes de lenguaje (LLM) generativos más recientes de Google para generar respuestas de agente virtual cuando la entrada del usuario final no coincide con un intent o un parámetro para completar formularios.
La función se puede configurar con una sugerencia de texto que le indica al LLM cómo responder. Puedes usar una instrucción de texto predefinida o agregar tus propias instrucciones. Con la instrucción predefinida, el agente virtual puede controlar situaciones de conversación básicas. Por ejemplo:
- Saluda al usuario y despídete.
- Repite lo que dijo el agente en caso de que el usuario no lo haya entendido.
- Mantén la línea cuando el usuario lo solicite.
- Resume la conversación.
Puedes habilitar el resguardo generativo en los controladores de eventos que no coinciden que se usan en flujos, páginas o durante el llenado de parámetros. Cuando el resguardo generativo está habilitado para un evento sin coincidencias, cada vez que se active ese evento, los agentes conversacionales (Dialogflow CX) intentarán producir una respuesta generada que se le dirá al usuario. Si la generación de la respuesta no se realiza correctamente, se emitirá la respuesta normal del agente prescrito.
Limitaciones
La función está disponible en los idiomas que admite la API de Gemini.
Habilita el resguardo generativo
Puedes habilitar el resguardo generativo en tu agente en los controladores de eventos que no coinciden, que se pueden usar en la entrega de flujos, páginas o parámetros.
Habilita el resguardo generativo para los eventos de sin coincidencia de todo un flujo:
- Ve a la consola de Dialogflow CX.
- Selecciona un proyecto
- Selecciona un agente y, luego, un flujo.
- Haz clic en la página de inicio del flujo para expandirla.
- Haz clic en sys.no-match-default en Controladores de eventos.
- Marca Habilitar resguardo generativo en Respuestas del agente.
- Haz clic en Guardar.
Habilita el resguardo generativo en eventos específicos de no coincidencia:
- Navega al controlador de eventos No-match de destino (cualquier evento que comience con No-match, como No-match default, No-match 1, etcétera).
- Marca Habilitar resguardo generativo en Respuestas del agente.
- Haz clic en Guardar.
Configura el resguardo generativo
Como se mencionó anteriormente, la función de reemplazo generativo pasa una solicitud a un modelo de lenguaje extenso para producir la respuesta generada. La solicitud tiene la forma de una sugerencia de texto que es una combinación de lenguaje natural y de información sobre el estado actual del agente y de la conversación. El prompt y la respuesta generada se comparan con una lista de frases prohibidas. Si contienen alguna frase prohibida o se consideran inseguras, la generación no se realizará correctamente y, en su lugar, se emitirá la respuesta prescrita normal (en El agente dice en la misma entrega).
La función se puede configurar de varias maneras:
- Selecciona una instrucción predefinida.
- Define una instrucción personalizada.
- Agrega o quita frases de la lista de frases prohibidas.
Cuando creas una instrucción, además de una descripción en lenguaje natural del tipo de contexto que se debe generar, también se pueden usar los siguientes marcadores de posición:
Término | Definición |
---|---|
$conversation | La conversación entre el agente y el usuario, sin incluir la última declaración del usuario. |
${conversation USER:"<user prefix>" AI:"<agent prefix>" TURNS:<turn count>} | Una versión parametrizada del marcador de posición $conversation . Puedes personalizar el prefijo del usuario final (USER ), el prefijo del agente (AI ) y la cantidad de turnos anteriores que se incluirán (TURNS ). Se deben especificar todos los valores de los parámetros de marcador de posición. Por ejemplo, ${conversation USER:"Human says:" AI:"Agent says:" TURNS:4} : |
$last-user-utterance | La última declaración del usuario. |
$flow-description | La descripción del flujo del flujo activo. |
$route-descriptions | Las descripciones de intents de los intents activos. |
Asegúrate de tener un buen flujo y descripciones de intents.
Elige una instrucción predefinida
- En Configuración del agente, navega a la pestaña IA generativa y, luego, a la subpestaña Alternativa generativa.
- Selecciona una de las opciones del menú desplegable Template.
- Haz clic en Guardar.
La función proporciona dos instrucciones de plantilla, la plantilla Predeterminada (que no es visible) y la plantilla Ejemplo, que puede servir como guía para escribir tus propias instrucciones.
Define tu propia instrucción
- En Configuración del agente, navega a la pestaña IA generativa y, luego, a la subpestaña Alternativa generativa.
- Selecciona + nueva plantilla en el menú desplegable Template.
- Agrega un Nombre de la plantilla.
- Agrega una Instrucción de texto.
- Haz clic en Guardar.
También puedes comenzar editando la plantilla Ejemplo y guardándola como una plantilla nueva:
- Selecciona Ejemplo en el menú desplegable Plantilla.
- Haz clic en Edit.
- Edita el Nombre de la plantilla.
- Edita la Instrucción de texto.
- Haz clic en Guardar.
Modifica la lista de frases prohibidas
- En Configuración del agente, navega a la pestaña IA generativa y, luego, a la subpestaña General.
- En la sección Frases prohibidas, inspecciona, agrega o quita frases de la lista.
- Haz clic en Guardar.
Prueba el resguardo generativo
Puedes probar la función de reemplazo generativo en el simulador. Cada vez que una utterance del usuario no coincide con un flujo o una página en el que el evento de no coincidencia se configuró para producir una respuesta generativa (y la generación se realiza correctamente), el agente mostrará la respuesta generada.
Codelab
Consulta también el codelab de resguardo generativo.
Soluciona problemas
Si quieres depurar la función, puedes inspeccionar la instrucción de entrada del modelo de lenguaje extenso (LLM) resuelta en el simulador de la Consola de Dialogflow:
Haz clic en el botón respuesta original:
Busca el campo "Generative Fallback Prompt". Lee estos campos como texto puro y verifica si la entrada del LLM tiene sentido. Si alguna frase contiene
$
, examina la entrada del simulador y aclara si el$
en las instrucciones es intencional (por ejemplo, es probable que$
enprice is $10
sea intencional, mientras quevisit $city
probablemente no lo sea y podría implicar un uso incorrecto o un error). Si no lo tienes claro, comunícate con el equipo de asistencia.Si usas una plantilla de instrucción que no es predeterminada, pero no puedes ver el campo "Generative Fallback Prompt", comunícate con el equipo de asistencia al cliente.