QnAMakerDialog class
支持多步骤和自适应学习 QnA Maker 服务的对话。
- 扩展
-
WaterfallDialog
构造函数
属性
$kind | |
active |
获取或设置向用户显示活动学习选项时要使用的卡片标题。 注意:如果传入了 suggestionsActivityFactory,则此成员未使用。 |
card |
获取或设置如果用户在主动学习卡上选择“无匹配”选项时要发送给用户的模板。 |
card |
获取或设置要与主动学习选项一起使用的按钮文本,使用户能够指示不适用的选项。 注意:如果传入了 suggestionsActivityFactory,则此成员是必需的。 |
display |
获取或设置一个值,该值指示对话响应是否应仅显示精确答案。 |
enable |
获取或设置一个值,该值指示是否在响应中包含精确的答案。 |
endpoint |
获取或设置用于查询知识库的 QnA Maker 终结点密钥。 |
filters | 获取或设置用于筛选结果的元数据和源。 |
hostname | 获取或设置知识库的 QnA Maker 主机 URL。 |
include |
获取或设置一个值,该值指示是否在搜索答案时包括非结构化源。 |
is |
获取或设置一个值,该值指示是获取还是设置要调用的知识库环境。 |
knowledge |
获取或设置要查询的 QnA Maker 知识库 ID。 |
log |
获取或设置 标志,以确定是否应在遥测中记录个人信息。 |
no |
获取或设置在 QnA Maker 找不到答案时发送给用户的模板。 |
qna |
问答服务类型 - qnaMaker 或语言 |
ranker |
获取或设置要使用的 QnA Maker 排名器类型。 |
strict |
获取或设置用于筛选查询或提升查询到知识库的 QnA Maker 元数据,或为 null 以不应用任何查询。 |
strict |
获取或设置元数据列表中的值 - AND 或 OR - 逻辑操作 |
threshold | 获取或设置基于分数返回的答案的阈值。 |
top | 获取或设置要从知识库返回的最大答案数。 |
继承属性
End |
获取默认的轮次结束结果。 |
id | |
telemetry |
方法
begin |
启动对话并推送到对话堆栈时调用。 |
continue |
当对话 继续时调用,其中它是活动对话,用户使用新的 活动进行回复。 |
get |
继承的方法
add |
将新步骤添加到瀑布图。 |
configure(Record<string, unknown>) | 用于配置 对象的 Fluent 方法。 |
end |
在对话结束时调用。 |
get |
获取由 ID 和步骤数组成的对话版本。 |
on |
在引发事件时调用,使用 |
reprompt |
在派生类中重写时,将重新调用用户作为输入。 |
resume |
当子 WaterfallDialog 完成其轮次时调用,将控件返回到此对话框。 |
构造函数详细信息
QnAMakerDialog(string, string, string, Activity, number, QnASuggestionsActivityFactory, string, number, Activity, RankerTypes, QnAMakerMetadata[], string, JoinOperator, boolean, boolean, ServiceType)
初始化 QnAMakerDialog 类的新实例。
new QnAMakerDialog(knowledgeBaseId?: string, endpointKey?: string, hostname?: string, noAnswer?: Activity, threshold?: number, suggestionsActivityFactory?: QnASuggestionsActivityFactory, cardNoMatchText?: string, top?: number, cardNoMatchResponse?: Activity, rankerType?: RankerTypes, strictFilters?: QnAMakerMetadata[], dialogId?: string, strictFiltersJoinOperator?: JoinOperator, enablePreciseAnswer?: boolean, displayPreciseAnswerOnly?: boolean, qnaServiceType?: ServiceType)
参数
- knowledgeBaseId
-
string
要查询的 QnA Maker 知识库 ID。
- endpointKey
-
string
用于查询知识库的 QnA Maker 终结点密钥。
- hostname
-
string
知识库的 QnA Maker 主机 URL,以“https://”开头,以“/qnamaker”结尾。
- noAnswer
-
Activity
(可选) QnA Maker 找不到答案时向用户发送的活动。
- threshold
-
number
(可选) 高于阈值时,要将其从知识库中找到的答案视为匹配项。
- suggestionsActivityFactory
- QnASuggestionsActivityFactory
(xref:botbuilder-ai。QnASuggestionsActivityFactory) 用于自定义活动格式设置。
- cardNoMatchText
-
string
(可选) 用于主动学习选项的按钮文本,允许用户指示任何选项都不适用。
- top
-
number
(可选) 要从知识库返回的最大答案数。
- cardNoMatchResponse
-
Activity
(可选) 如果用户在主动学习卡上选择“无匹配项”选项时要发送的活动。
- rankerType
- RankerTypes
- strictFilters
(用于筛选查询或将查询提升到知识库的可选) QnA Maker 元数据;或 null 表示不应用任何查询。
- dialogId
-
string
(已创建对话框的可选) ID。 默认值为“QnAMakerDialog”。
- strictFiltersJoinOperator
- JoinOperator
用于严格筛选器的联接运算符
- enablePreciseAnswer
-
boolean
- displayPreciseAnswerOnly
-
boolean
- qnaServiceType
- ServiceType
QnAMakerDialog(string, string, string, Activity, number, string, string, number, Activity, RankerTypes, QnAMakerMetadata[], string, JoinOperator, boolean, boolean, ServiceType)
初始化 QnAMakerDialog 类的新实例。
new QnAMakerDialog(knowledgeBaseId?: string, endpointKey?: string, hostname?: string, noAnswer?: Activity, threshold?: number, activeLearningCardTitle?: string, cardNoMatchText?: string, top?: number, cardNoMatchResponse?: Activity, rankerType?: RankerTypes, strictFilters?: QnAMakerMetadata[], dialogId?: string, strictFiltersJoinOperator?: JoinOperator, enablePreciseAnswer?: boolean, displayPreciseAnswerOnly?: boolean, qnaServiceType?: ServiceType)
参数
- knowledgeBaseId
-
string
要查询的 QnA Maker 知识库 ID。
- endpointKey
-
string
用于查询知识库的 QnA Maker 终结点密钥。
- hostname
-
string
知识库的 QnA Maker 主机 URL,以“https://”开头,以“/qnamaker”结尾。
- noAnswer
-
Activity
(可选) QnA Maker 找不到答案时向用户发送的活动。
- threshold
-
number
(可选) 高于阈值时,要将其从知识库中找到的答案视为匹配项。
- activeLearningCardTitle
-
string
(可选) 如果启用了主动学习,则向用户显示主动学习选项时要使用的卡片标题。
- cardNoMatchText
-
string
(可选) 用于主动学习选项的按钮文本,允许用户指示任何选项都不适用。
- top
-
number
(可选) 要从知识库返回的最大答案数。
- cardNoMatchResponse
-
Activity
(可选) 如果用户在主动学习卡上选择“无匹配项”选项时要发送的活动。
- rankerType
- RankerTypes
- strictFilters
(用于筛选查询或将查询提升到知识库的可选) QnA Maker 元数据;或 null 表示不应用任何查询。
- dialogId
-
string
(已创建对话框的可选) ID。 默认值为“QnAMakerDialog”。
- strictFiltersJoinOperator
- JoinOperator
用于严格筛选器的联接运算符
- enablePreciseAnswer
-
boolean
- displayPreciseAnswerOnly
-
boolean
- qnaServiceType
- ServiceType
属性详细信息
$kind
static $kind: string
属性值
string
activeLearningCardTitle
获取或设置向用户显示活动学习选项时要使用的卡片标题。 注意:如果传入了 suggestionsActivityFactory,则此成员未使用。
activeLearningCardTitle: StringExpression
属性值
StringExpression
cardNoMatchResponse
获取或设置如果用户在主动学习卡上选择“无匹配”选项时要发送给用户的模板。
cardNoMatchResponse: TemplateInterface<Partial<Activity>, DialogStateManager>
属性值
TemplateInterface<Partial<Activity>, DialogStateManager>
cardNoMatchText
获取或设置要与主动学习选项一起使用的按钮文本,使用户能够指示不适用的选项。 注意:如果传入了 suggestionsActivityFactory,则此成员是必需的。
cardNoMatchText: StringExpression
属性值
StringExpression
displayPreciseAnswerOnly
获取或设置一个值,该值指示对话响应是否应仅显示精确答案。
displayPreciseAnswerOnly: boolean
属性值
boolean
enablePreciseAnswer
获取或设置一个值,该值指示是否在响应中包含精确的答案。
enablePreciseAnswer: boolean
属性值
boolean
endpointKey
获取或设置用于查询知识库的 QnA Maker 终结点密钥。
endpointKey: StringExpression
属性值
StringExpression
filters
hostname
获取或设置知识库的 QnA Maker 主机 URL。
hostname: StringExpression
属性值
StringExpression
includeUnstructuredSources
获取或设置一个值,该值指示是否在搜索答案时包括非结构化源。
includeUnstructuredSources: boolean
属性值
boolean
isTest
获取或设置一个值,该值指示是获取还是设置要调用的知识库环境。
isTest: boolean
属性值
boolean
knowledgeBaseId
获取或设置要查询的 QnA Maker 知识库 ID。
knowledgeBaseId: StringExpression
属性值
StringExpression
logPersonalInformation
获取或设置 标志,以确定是否应在遥测中记录个人信息。
logPersonalInformation: BoolExpression
属性值
BoolExpression
noAnswer
获取或设置在 QnA Maker 找不到答案时发送给用户的模板。
noAnswer: TemplateInterface<Partial<Activity>, DialogStateManager>
属性值
TemplateInterface<Partial<Activity>, DialogStateManager>
qnaServiceType
rankerType
strictFilters
获取或设置用于筛选查询或提升查询到知识库的 QnA Maker 元数据,或为 null 以不应用任何查询。
strictFilters: QnAMakerMetadata[]
属性值
strictFiltersJoinOperator
threshold
获取或设置基于分数返回的答案的阈值。
threshold: NumberExpression
属性值
NumberExpression
top
获取或设置要从知识库返回的最大答案数。
top: IntExpression
属性值
IntExpression
继承属性详细信息
EndOfTurn
获取默认的轮次结束结果。
static EndOfTurn: DialogTurnResult
属性值
DialogTurnResult
注解
此结果指示对话 (或对话中的逻辑步骤) 已完成当前轮次的处理,仍处于活动状态,并且正在等待更多输入。
继承自 Dialog.EndOfTurn
id
id: string
属性值
string
继承自 Dialog.id
telemetryClient
telemetryClient: BotTelemetryClient
属性值
BotTelemetryClient
继承自 Dialog.telemetryClient
方法详细信息
beginDialog(DialogContext, object)
启动对话并推送到对话堆栈时调用。
function beginDialog(dc: DialogContext, options?: object): Promise<DialogTurnResult>
参数
- dc
-
DialogContext
对话当前轮次的 DialogContext 。
- options
-
object
(可选) 要传递给对话框的初始信息。
返回
Promise<DialogTurnResult>
解析为轮次结果的承诺
continueDialog(DialogContext)
当对话 继续时调用,其中它是活动对话,用户使用新的 活动进行回复。
function continueDialog(dc: DialogContext): Promise<DialogTurnResult>
参数
- dc
-
DialogContext
对话当前轮次的 DialogContext 。
返回
Promise<DialogTurnResult>
表示异步操作的 Promise。
getConverter(Object)
function getConverter(property: Object): Converter | ConverterFactory
参数
- property
-
Object
扩展 QnAMakerDialogConfiguration 的属性。
返回
Converter | ConverterFactory
表达式转换器。
继承的方法详细信息
addStep(WaterfallStep<O>)
将新步骤添加到瀑布图。
function addStep(step: WaterfallStep<O>): this
参数
- step
-
WaterfallStep<O>
要调用的异步步骤函数。
返回
this
用于对 的流畅调用的 addStep()
瀑布对话。
注解
所有步骤函数都应是异步的,并返回 DialogTurnResult
。
WaterfallStepContext
传入函数的 派生自 DialogContext
并包含许多堆栈操作方法,这些方法返回 ,DialogTurnResult
因此通常只需从调用的 DialogContext 方法返回结果。
步骤函数本身可以是异步闭包:
const helloDialog = new WaterfallDialog('hello');
helloDialog.addStep(async (step) => {
await step.context.sendActivity(`Hello World!`);
return await step.endDialog();
});
命名异步函数:
async function helloWorldStep(step) {
await step.context.sendActivity(`Hello World!`);
return await step.endDialog();
}
helloDialog.addStep(helloWorldStep);
或已绑定到其 this
指针的类方法:
helloDialog.addStep(this.helloWorldStep.bind(this));
继承自 WaterfallDialog.addStep
configure(Record<string, unknown>)
用于配置 对象的 Fluent 方法。
function configure(config: Record<string, unknown>): this
参数
- config
-
Record<string, unknown>
要应用的配置设置。
返回
this
继承自 Configure.configure
endDialog(TurnContext, DialogInstance, DialogReason)
在对话结束时调用。
function endDialog(context: TurnContext, instance: DialogInstance, reason: DialogReason): Promise<void>
参数
- context
-
TurnContext
当前会话轮次的上下文。
- instance
-
DialogInstance
当前对话框的实例。
- reason
-
DialogReason
对话结束的原因。
返回
Promise<void>
继承自 WaterfallDialog.endDialog
getVersion()
获取由 ID 和步骤数组成的对话版本。
function getVersion(): string
返回
string
对话框版本,由 ID 和步骤数组成。
继承自 WaterfallDialog.getVersion
onDialogEvent(DialogContext, DialogEvent)
在引发事件时调用,使用 DialogContext.emitEvent()
由当前对话或当前对话启动的对话调用。
function onDialogEvent(dc: DialogContext, e: DialogEvent): Promise<boolean>
参数
- dc
-
DialogContext
当前会话轮次的对话上下文。
- e
-
DialogEvent
正在引发的事件。
返回
Promise<boolean>
如此 如果事件由当前对话框处理,并且浮泡应停止。
继承自 Dialog.onDialogEvent
repromptDialog(TurnContext, DialogInstance)
在派生类中重写时,将重新调用用户作为输入。
function repromptDialog(_context: TurnContext, _instance: DialogInstance): Promise<void>
参数
- _context
-
TurnContext
轮次的上下文对象。
- _instance
-
DialogInstance
此对话框的当前状态信息。
返回
Promise<void>
注解
支持验证和重新提示逻辑的派生对话应重写此方法。 默认情况下,此方法不起作用。
当当前对话应重新请求用户输入时, DialogContext 将调用此方法。 此方法是针对提示对话实现的。
另请参阅
继承自 Dialog.repromptDialog
resumeDialog(DialogContext, DialogReason, any)
当子 WaterfallDialog 完成其轮次时调用,将控件返回到此对话框。
function resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise<DialogTurnResult>
参数
- dc
-
DialogContext
对话当前轮次的 DialogContext 。
- reason
-
DialogReason
(xref:botbuilder-dialogs。DialogReason) 对话恢复的原因。
- result
-
any
可选,从调用的对话框返回的值。 返回的值的类型取决于子对话。
返回
Promise<DialogTurnResult>
表示异步操作的 Promise。
继承自 WaterfallDialog.resumeDialog