Доступ к параметрам из прошлых намерений Выполнение Dialogflow - PullRequest
1 голос
/ 31 марта 2020

Пример намерения 1 Пример намерения 2 Я пытаюсь получить доступ к другим параметрам из прошлых намерений, но с помощью этого кода он получит только последний параметр. Последнее намерение, в котором запускается выполнение, - «Dias20», и он получит только параметр «Dias20», другие вызывают ошибку -> «undefined». Я попробовал все, чтобы получить контекст, а затем параметры, но нет никакого способа. это диалог в виде дерева, в котором каждое намерение имеет последующее намерение с входным контекстом последнее намерение и выводит текущее намерение.

function CalcularScore(agent)
{

    //coger los parametros 
    //var contextIn = agent.getContext('resp-followup');
    const respiracion = agent.contexts['resp-followup'].parameters.Respiracion;
    //const respiracion = agent.parameters.Respiracion;
    const fiebre = agent.parameters.Fiebre;
    const muco = agent.parameters.Muco;
    const muscular = agent.parameters.Muscular;
    const gastro = agent.parameters.Gastro;
    const dias20 = agent.parameters.Dias20;

    agent.add('tu score es: ' + respiracion );

 }

1 Ответ

0 голосов
/ 17 апреля 2020

Это может сработать, учитывая предоставленную вами информацию:

let params = agent.getContext("resp-followup").parameters;
let respiracion = params.Respiracion;

Если это не сработает, попробуйте установить контекст при выполнении предыдущего намерения следующим образом:

agent.setContext({ name: 'context_name', lifespan: 5, parameters: { param_name: agent.parameters.Respiracion}});

Тогда:

let params = agent.getContext("context_name").parameters;
let respiracion = params.param_name;

Примечание: замените context_name и param_name на что угодно. Кроме того, если вы хотите, вы можете увеличить продолжительность жизни в зависимости от того, сколько намерений позже вам понадобятся данные. Если это помогло, пожалуйста, примите мой ответ или дайте мне знать иначе:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...