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

Dialogflow V2 API中V1的app.setContext()等效调用及代码示例

Dialogflow V1 app.setContext() 在V2 API中的等效实现及示例

核心结论

在Dialogflow V2(配合Actions on Google的dialogflow客户端)中,V1版本的app.setContext()方法被替换为**conv.contexts.set()**,这就是设置会话上下文的等效实现。

方法用法说明

conv.contexts.set()需要传入一个上下文配置对象,核心属性包括:

  • name: 上下文的名称(必填项)
  • lifespanCount: 上下文的生命周期(可选,默认值为5,代表该上下文会在后续5轮对话后自动过期)
  • parameters: 上下文携带的自定义参数(可选,以键值对形式存储)

示例代码修改(默认欢迎意图中设置上下文)

针对你提供的代码片段,我们可以在Default Welcome Intent的处理逻辑里添加上下文设置的代码,比如设置一个用于后续对话跟进的上下文:

// v2
const functions = require('firebase-functions');
const { dialogflow } = require('actions-on-google');
const app = dialogflow();

app.intent('Default Welcome Intent', conv => {
  // 设置上下文:名称为"greeting_followup",生命周期3轮,携带初始参数
  conv.contexts.set({
    name: 'greeting_followup',
    lifespanCount: 3,
    parameters: { user_mood: 'unknown' }
  });
  conv.ask('How are you?');
});

exports.factsAboutGoogle = functions.https.onRequest(app);

额外小提示

  • 如果只需要设置上下文名称和默认生命周期,可以简化写法:conv.contexts.set('greeting_followup')
  • 若要更新已存在的上下文参数或生命周期,直接调用conv.contexts.set()传入新配置即可,它会自动覆盖同名的现有上下文

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:53:31