You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Assistant中添加会话属性并自定义API请求参数

关于Google Assistant会话属性和API请求自定义参数的解决方案

我来帮你一步步解决这两个问题:

1. 在Google Assistant中添加会话属性

Google Assistant的会话属性主要是通过**上下文(Context)**来存储和传递的,不管你是用Dialogflow控制台(现在叫Google Cloud Dialogflow)还是直接调用API,核心思路都是把自定义属性放到上下文的parameters字段里。

举个实际场景:如果你想在会话中保存用户的主题偏好,比如theme: "dark",你需要创建一个上下文,把这个属性塞进它的参数中。这个上下文会在会话期间保持有效,后续的交互请求里就能读取到这些属性了。如果是用Actions on Google的SDK开发,不同语言(比如Node.js、Python)也有对应的方法来直接设置会话属性,但本质还是基于上下文机制实现的。

2. 给你的PHP API请求添加自定义参数

看你提供的PHP代码,目前contextOut是空数组,我们要在这里添加包含自定义参数的上下文对象。具体修改如下:

首先构造一个上下文对象,它包含三个关键部分:

  • name:自定义的上下文名称(比如user_session_context,方便后续识别)
  • lifespan:上下文的有效轮次(比如设为5,表示后续5轮交互都能获取到这个上下文)
  • parameters:你的自定义参数集合,这里可以放任意键值对

修改后的完整代码:

<?php
$data = array(
    "source" => "My text",
    "speech" => "My text",
    "displayText" => "My text",
    "contextOut" => array(
        array(
            "name" => "user_session_context",
            "lifespan" => 5,
            "parameters" => array(
                "user_favorite_color" => "blue",
                "user_id" => "u_1001",
                "custom_flag" => true
            )
        )
    )
);

header('Content-Type: application/json');
echo json_encode($data);
?>

关键说明:

  • 你可以根据需求在parameters里添加任意数量的自定义键值对,比如用户ID、偏好设置等。
  • lifespan的数值决定了上下文的有效期,如果你希望它持续到会话结束,可以设置一个较大的数值(比如100),或者根据业务需求调整轮次。
  • 后续当Google Assistant把用户的交互请求发送到你的服务时,这些自定义参数会包含在请求的contexts字段里,你只需要解析这个字段就能获取到之前设置的参数了。

内容的提问来源于stack exchange,提问作者Gowri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:18:47