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

Dialogflow整数参数添加及糖尿病机器人胰岛素计算实现咨询

Dialogflow实现胰岛素剂量计算功能操作指南

一、添加参数配置

  1. 打开Dialogflow控制台,进入目标代理(Agent)。
  2. 新建或打开用于计算的意图(如命名为「胰岛素剂量计算」)。
  3. 在**参数(Parameters)**模块添加两个参数:
    • 参数1:名称设为carbohydrate_intake,实体类型选@sys.number(支持整数/小数,若强制整数则选@sys.integer),勾选「必填」,设置提示短语为「请输入碳水化合物摄入量」。
    • 参数2:名称设为carbohydrate_ratio,实体类型同上述,勾选「必填」,提示短语设为「请输入碳水化合物系数」。

二、构建对话触发流程

  • 给意图设置触发短语,比如「计算胰岛素剂量」「我要算打多少胰岛素」,用户发送这类语句时触发意图。
  • 当意图启动后,Dialogflow会自动检查参数是否完整:若缺失第一个参数,自动发送提示短语;用户输入后提取参数,再检查第二个参数,缺失则发送对应提示,直到两个参数都收集完成。

三、实现剂量计算逻辑

方式1:使用Webhook(推荐,支持复杂计算与数据传递)

  1. 在意图的**Fulfillment(实现)**区域,勾选「启用Webhook调用以获取响应」。
  2. 编写Webhook服务(以Node.js为例):
    function calculateInsulinDose(agent) {
      // 提取Dialogflow传递的参数
      const carbIntake = parseFloat(agent.parameters.carbohydrate_intake);
      const carbRatio = parseFloat(agent.parameters.carbohydrate_ratio);
      // 计算剂量,可根据需求调整精度
      const dose = (carbIntake / carbRatio).toFixed(1);
      // 返回对话响应
      agent.add(`您需要注射${dose}单位胰岛素`);
      // 将结果存入上下文,方便前端获取
      agent.setContext({
        name: 'insulin_calculation_result',
        lifespanCount: 3,
        parameters: { insulin_dose: dose }
      });
    }
    
  3. 将Webhook服务部署后,把服务地址填入Dialogflow的Fulfillment配置中。

方式2:控制台直接配置响应(简单场景)

在意图的**响应(Responses)**模块,开启「启用参数值的动态响应」,添加文本响应:

您需要注射#{$parameters.carbohydrate_intake / $parameters.carbohydrate_ratio}单位胰岛素
(注:此方式精度控制有限,仅适合基础计算)

四、将计算结果传递到页面

通过Dialogflow前端集成库监听对话结果,提取计算值并渲染到页面:

// 网页前端示例代码
const client = new window.Dialogflow.WebhookClient({
  sessionId: 'unique-session-id',
  languageCode: 'zh-CN'
});

client.on('response', (response) => {
  const queryResult = response.queryResult;
  // 从上下文或参数中获取计算结果
  const insulinDose = queryResult.outputContexts.find(ctx => ctx.name.includes('insulin_calculation_result'))?.parameters.insulin_dose 
    || (parseFloat(queryResult.parameters.carbohydrate_intake) / parseFloat(queryResult.parameters.carbohydrate_ratio)).toFixed(1);
  // 将结果插入页面指定元素
  document.getElementById('result-container').innerText = `推荐注射剂量:${insulinDose}单位`;
});

内容的提问来源于stack exchange,提问作者Константин Вихованець

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 21:22:27