Dialogflow es 我可以指定一个实体';s值作为特定形式而不是特定值?

Dialogflow es 我可以指定一个实体';s值作为特定形式而不是特定值?,dialogflow-es,Dialogflow Es,我有一个实体,每个用户的值可以不同(例如“打开房间XYZ处的灯,其中“房间XYZ”是实体的值)。我可以在平台上指定实体的形式为房间$something,我该如何做 响应不是问题,因为它将由后端处理。问题是如何将整个值“room XYZ”发送到后端,而不仅仅是“room”您正在查看这些参数的实体类型。其中,您有两个选项: 在最简单的情况下,您可以将其定义为类型@sys.any。这只会将值传递给后端并让它处理错误。(它确实可以优雅地处理错误输入,对吗?) 但是,您可以在会话开始时使用Dialogfl

我有一个实体,每个用户的值可以不同(例如“打开房间XYZ处的灯,其中“房间XYZ”是实体的值)。我可以在平台上指定实体的形式为
房间$something
,我该如何做


响应不是问题,因为它将由后端处理。问题是如何将整个值“room XYZ”发送到后端,而不仅仅是“room”

您正在查看这些参数的实体类型。其中,您有两个选项:

  • 在最简单的情况下,您可以将其定义为类型
    @sys.any
    。这只会将值传递给后端并让它处理错误。(它确实可以优雅地处理错误输入,对吗?)

  • 但是,您可以在会话开始时使用Dialogflow设置实体类型。因此,一旦您知道用户是谁,您就可以获取他们的设备列表,并将每个设备设置为用户实体类型的可能值。您需要提前创建实体类型(不管是什么)然后,如果使用V1 API,则使用端点;如果使用V2 API,则使用资源来设置该会话的特定实体


  • (选择1更容易,选择2将为您提供更好的用户体验。)

    非常感谢!第一个选项很有魅力。我对第二个选项仍有异议;它确实承认这是一个实体,但我如何获得值?我有一个名为
    room
    的实体,其中有一个值
    user\u room
    。如果用户说打开客厅,它承认客厅是一个实体,但如果我回复为“打开$room”,它说“打开用户房间”而不是“打开客厅”,我发现:)回复应该是“打开$room.original”。再次感谢!