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

Google Assistant中SynonymType.entities的映射结构及配置问题

核心问题定位

你现在写的配置根本没有建立同义词映射关系。在entities节点下直接放空的label:键,相当于只告诉系统有个值叫label,但完全没说哪些用户说的话要对应到这个值,自然没法把"labels"统一换成"label"。

SynonymType.entities 正确的映射结构

所有实体配置必须遵循固定层级,搞反了就完全失效:

  • entities下的每一个顶级键,是最后要传给业务逻辑的标准化目标值,也就是你最终想拿到的label
  • 每个目标值下面必须挂synonyms数组,数组里列的所有内容,都是需要被系统识别、并最终映射为这个顶级键值的用户表述
  • 整个映射是单向的:只要用户说的内容命中了synonyms里的任意条目,解析结果就会替换成对应的顶级键值,不会把用户原话说回去
你当前配置的具体问题
  • label节点是空的,没写任何同义词列表,系统根本不知道"labels"是需要被映射的内容
  • 你开了acceptUnknownValues: false,但这个配置的作用只是“不识别没注册的值”,系统不会自动给你做单复数归一,你没把"labels"列进同义词列表,它就不会把这个表述和"label"绑定
  • 你注释掉的FUZZY_MATCH模式,在没有完整同义词列表的情况下根本帮不上忙,还容易把意思相近但不相关的用户输入错配成目标值
改完就能用的配置
synonym:
  acceptUnknownValues: false
  # 用精准匹配,避免模糊匹配带来的识别误差
  matchType: EXACT_MATCH
  entities:
    # 这个位置的键就是最终要返回的标准化值
    label:
      # 所有需要映射到这个值的用户表述全列在这
      synonyms:
        - label
        - labels

按这个配置改完,不管用户说的是单还是复数形式的表述,intent.params.{fieldName}.resolved都会统一返回label,不会留着原输入的"labels"。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 01:45:04