语言生成

适用于: SDK v4

语言生成 (LG) 可让开发人员从其代码和资源文件中提取嵌入的字符串,并通过 LG 运行时和文件格式管理这些文件。 借助 LG,开发人员可以通过定义一个短语的多个变体,根据上下文执行简单的表达式并引用对话内存,来创建更自然的对话体验。

注意

Bot Framework Composer 支持 LG,但并不打算在 SDK 优先的机器人中使用。

开发人员可使用 LG 来执行以下操作:

  • 为机器人实现连贯的个性和语调
  • 将业务逻辑与展示相分离
  • 为任何机器人的答复包含基于变体和复杂组合的解析
  • 添加语音和显示适配功能
  • 构造卡、建议的操作和附件

LG 的核心在于模板扩展和实体替换。 可以为扩展提供 one-of 变体,也可以有条件地扩展模板。 LG 的输出可以是简单的文本字符串和多行响应,也可以是复杂对象有效负载,LG 之上的层将使用它来构造一个活动

下面是一个简单的问候语 LG 模板。 请注意,所有问候语都引用内存中变量为 ${user.name} 的用户名称。

# greetingTemplate
- Hello ${user.name}, how are you?
- Good morning ${user.name}.It's nice to see you again.
- Good day ${user.name}. What can I do for you today?

LG 实操演练

在开发机器人时,你可以通过多种方式来使用 LG。 若要开始,请创建一个或多个 .lg 文件以涵盖所有可能的方案,在这些方案中,你可以将语言生成子系统用于机器人对用户的回复。

多语言生成和语言回退策略

你的机器人可能会针对不止一种口语或显示语言。 可以管理 TemplateEngine 的单个实例,一种目标语言一个实例。

其他资源