QnAMakerDialog class

支持多步骤和自适应学习 QnA Maker 服务的对话。

Extends

WaterfallDialog

构造函数

QnAMakerDialog(string, string, string, Activity, number, QnASuggestionsActivityFactory, string, number, Activity, RankerTypes, QnAMakerMetadata[], string, JoinOperator, boolean, boolean, ServiceType)

初始化 QnAMakerDialog 类的新实例。

QnAMakerDialog(string, string, string, Activity, number, string, string, number, Activity, RankerTypes, QnAMakerMetadata[], string, JoinOperator, boolean, boolean, ServiceType)

初始化 QnAMakerDialog 类的新实例。

属性

$kind
activeLearningCardTitle

获取或设置向用户显示活动学习选项时要使用的卡片标题。 注意:如果传入了 suggestionsActivityFactory,则此成员未使用。

cardNoMatchResponse

获取或设置如果用户在主动学习卡上选择“无匹配”选项时要发送给用户的模板。

cardNoMatchText

获取或设置要与主动学习选项一起使用的按钮文本,使用户能够指示不适用的选项。 注意:如果传入了 suggestionsActivityFactory,则此成员是必需的。

displayPreciseAnswerOnly

获取或设置一个值,该值指示对话响应是否应仅显示精确答案。

enablePreciseAnswer

获取或设置一个值,该值指示是否在响应中包含精确的答案。

endpointKey

获取或设置用于查询知识库的 QnA Maker 终结点密钥。

filters

获取或设置用于筛选结果的元数据和源。

hostname

获取或设置知识库的 QnA Maker 主机 URL。

includeUnstructuredSources

获取或设置一个值,该值指示是否在搜索答案时包括非结构化源。

isTest

获取或设置一个值,该值指示是获取还是设置要调用的知识库环境。

knowledgeBaseId

获取或设置要查询的 QnA Maker 知识库 ID。

logPersonalInformation

获取或设置 标志,以确定是否应在遥测中记录个人信息。

noAnswer

获取或设置在 QnA Maker 找不到答案时发送给用户的模板。

qnaServiceType

问答服务类型 - qnaMaker 或语言

rankerType

获取或设置要使用的 QnA Maker 排名器类型。

strictFilters

获取或设置用于筛选查询或提升查询到知识库的 QnA Maker 元数据,或为 null 以不应用任何查询。

strictFiltersJoinOperator

获取或设置元数据列表中的值 - AND 或 OR - 逻辑操作

threshold

获取或设置基于分数返回的答案的阈值。

top

获取或设置要从知识库返回的最大答案数。

继承属性

EndOfTurn

获取默认的轮次结束结果。

id
telemetryClient

方法

beginDialog(DialogContext, object)

启动对话并推送到对话堆栈时调用。

continueDialog(DialogContext)

当对话 继续时调用,其中它是活动对话,用户使用新的 活动进行回复。

getConverter(Object)

继承的方法

addStep(WaterfallStep<O>)

将新步骤添加到瀑布图。

configure(Record<string, unknown>)

用于配置 对象的 Fluent 方法。

endDialog(TurnContext, DialogInstance, DialogReason)

在对话结束时调用。

getVersion()

获取由 ID 和步骤数组成的对话版本。

onDialogEvent(DialogContext, DialogEvent)

在引发事件时调用,使用 DialogContext.emitEvent()由当前对话或当前对话启动的对话调用。

repromptDialog(TurnContext, DialogInstance)

在派生类中重写时,将重新调用用户作为输入。

resumeDialog(DialogContext, DialogReason, any)

当子 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

QnAMakerMetadata[]

(用于筛选查询或将查询提升到知识库的可选) 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

QnAMakerMetadata[]

(用于筛选查询或将查询提升到知识库的可选) 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

获取或设置用于筛选结果的元数据和源。

filters: 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

问答服务类型 - qnaMaker 或语言

qnaServiceType: ServiceType

属性值

rankerType

获取或设置要使用的 QnA Maker 排名器类型。

rankerType: EnumExpression<RankerTypes>

属性值

EnumExpression<RankerTypes>

strictFilters

获取或设置用于筛选查询或提升查询到知识库的 QnA Maker 元数据,或为 null 以不应用任何查询。

strictFilters: QnAMakerMetadata[]

属性值

strictFiltersJoinOperator

获取或设置元数据列表中的值 - AND 或 OR - 逻辑操作

strictFiltersJoinOperator: JoinOperator

属性值

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()瀑布对话。

注解

所有步骤函数都应是异步的,并返回 DialogTurnResultWaterfallStepContext传入函数的 派生自 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