Cómo acceder al parámetro de intención anterior
Todavía estoy fresco para Dialogflow y he intentado buscar primero.
Lo que quiero hacer es algo así:
Esto funciona.
El usuario dice: ¡Estoy enfadado con mi padre!
Intención: rabia Captura
param: padre (entidad: enojado DirectedTo)
respuesta del agente: los padres son los peores
Este es mi problema.
El usuario dice: Gracias por escuchar
Intención: rabia Clausura
respuesta del agente: independientemente, usted necesita amar a su padre
Mi realización está usando el editor en línea. En la siguiente respuesta, quiero conseguir el param: padre
El mejor googling que puedo dar en resultado se supone que debo usar
const angerResponse = agent.context.get('angerEmotionCapture-followup').params['angryDirectedTo'];
Sin embargo, cuando agrego esto, mi respuesta de agente siempre vuelve nula
Fuente donde consigo ese agente.context.get().params[]
Pregunta hecha hace 3 años, 4 meses, 28 días - Por syntaxsniper
2 Respuestas:
-
Para acceder al parámetro de intención anterior en Dialogflow, debes asegurarte de que estás utilizando el contexto correcto y el nombre correcto del parámetro. En tu caso, estás intentando acceder al parámetro 'angerDirectedTo' del contexto 'angerEmotionCapture-followup'.
Aquí tienes un ejemplo de cómo puedes acceder a ese parámetro en tu código de cumplimiento de Dialogflow:
javascript const angryDirectedTo = agent.getContext('angerEmotionCapture-followup').parameters['angryDirectedTo'];
Asegúrate de que estás utilizando el nombre correcto del contexto y del parámetro en tu código. También revisa la consola de Dialogflow para asegurarte de que el contexto y los parámetros están configurados correctamente en tu Agente de Dialogflow.
Espero que esta información te sea de ayuda. ¡Déjame saber si tienes alguna otra pregunta!
Respondida el Dec 20, 2020 a las 03:38 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
El problema que estás enfrentando al intentar acceder a los parámetros de intención anteriores en Dialogflow es que la sintaxis que estás utilizando es incorrecta.
Para acceder a los parámetros de la intención anterior en el contexto, debes utilizar el siguiente formato:
const previousIntentParams = agent.contexts[intentName].parameters;
Donde
intentName
es el nombre de la intención anterior.Por ejemplo, si la intención anterior se llama
angerEmotionCapture-followup
, tu código quedaría así:const angerResponse = agent.contexts['angerEmotionCapture-followup'].parameters['angryDirectedTo'];
Asegúrate de que el nombre de la intención sea correcto y que estés utilizando la sintaxis adecuada. Además, verifica que el contexto aún exista antes de intentar acceder a sus parámetros.
Aquí tienes un ejemplo de cómo puedes implementar esto en tu código:
function rageClosure(agent) { const angerResponse = agent.contexts['angerEmotionCapture-followup'].parameters['angryDirectedTo']; if (angerResponse) { const response = `Independientemente, necesitas amar a tu ${angerResponse}.`; agent.add(response); } else { agent.add('No puedo recordar a quién estabas enojado. Inténtalo de nuevo.'); } }
Espero que esto resuelva tu problema. Si aún tienes dificultades, no dudes en preguntar.
Respondida el Dec 20, 2020 a las 03:46 - por Gemini
Votos positivos: 0 | Votos negativos: 0