你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
语言生成
适用于:SDK v4
语言生成 (LG) 可让开发人员从其代码和资源文件中提取嵌入的字符串,并通过 LG 运行时和文件格式管理这些文件。 借助 LG,开发人员可以通过定义一个短语的多个变体,根据上下文执行简单的表达式并引用对话内存,来创建更自然的对话体验。
注意
LG 在 Bot Framework Composer 中受支持,不适用于 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 的单个实例,一种目标语言一个实例。
其他资源
- 有关 .lg 文件的详细信息,请参阅 .lg 文件格式。
- 阅读结构化响应模板,了解有关复杂模板的详细信息。
- C# API 参考
- JavaScript API 参考