首页 文章

在Dialogflow中将用户提供的值从一个intent传递给其他intent

提问于
浏览
0

团队,在DialogFlow中,我从意图A中获取用户的值; (假设这是员工ID) . 在下一个Intent B中,我想使用Employee ID(在之前的意图A中收集)并提供响应并执行webhook .

我能够在意图A中收集值并以相同的意图显示 . 当试图将它传递给另一个意图时,我失败了 .

在这方面感谢ayny的帮助 .

Tnx Sathiya

1 回答

  • 1

    您将需要使用上下文来存储参数,并通过另一个intent中的上下文访问这些参数 .

    查看我的完整答案here

    {  
      "fulfillmentText":"This is a text response",
      "fulfillmentMessages":[  ],
      "source":"example.com",
      "payload":{  
        "google":{  },
        "facebook":{  },
        "slack":{  }
      },
      "outputContexts":[  
        {  
          "name":"<Context Name>",
          "lifespanCount":5,
          "parameters":{  
            "<param name>":"<param value>"
          }
        }
      ],
      "followupEventInput":{  }
    }
    

    来自NodeJS代码
    保存在第一个Intent中

    let param1 = [];
    let param2 = {};
    let ctx = {'name': '<context name>', 'lifespan': 5, 'parameters': {'param1':param1, 'param2': param2}};
    agent.setContext(ctx);
    

    在其他意图中访问

    let params = agent.getContext("<context name>").parameters;
    let param1 = params.param1;
    let param2 = params.param2;
    

相关问题