开发者可以通过如下两种方式来定义意图:
| 意图定义方式 | 说明 | 使用场景 |
|---|---|---|
| 接入标准意图 | 由系统预定义调用规范,包含统一的意图参数格式定义与意图执行结果格式定义。系统会根据装饰器的schema字段与intentVersion字段,在标准意图列表查询是否存在匹配的意图。标准意图列表以Json Schema文件形式存储在SDK中。 | 通用功能场景,若开发者提供的功能在标准意图中已有定义,可选择接入标准意图。 |
| 创建自定义意图 | 由应用开发者定义调用规范,用于满足标准意图未覆盖的场景。 | 若开发者提供的功能未在标准意图中定义,可选择创建自定义意图。 |
当应用功能符合系统预定义的标准意图时(例如播放音乐、导航等),开发者可直接接入标准意图,避免重复定义规范。
当前发布的标准意图规范参见附录:标准意图接入规范。
每个意图均包含如下几个要素。
当现有标准意图定义无法覆盖应用的功能时,开发者可以自定义意图。系统入口需要解析开发者定义的意图描述和参数规范,意图匹配用户语义后,触发意图执行。自定义意图的属性通过IntentDecoratorInfo及其子类定义,需要包含如下要素:
例如,应用提供查询天气能力时,模型描述可以描述为“通过输入经纬度坐标信息,查询对应地理位置的实时天气情况。”。