Compartir a través de


QnAMakerDialog class

Cuadro de diálogo que admite servicios QnA Maker de aprendizaje adaptable y de varios pasos.

Extends

WaterfallDialog

Constructores

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

Inicializa una nueva instancia de la clase QnAMakerDialog.

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

Inicializa una nueva instancia de la clase QnAMakerDialog.

Propiedades

$kind
activeLearningCardTitle

Obtiene o establece el título de la tarjeta que se va a usar al mostrar las opciones de aprendizaje activas para el usuario. Nota: Si se pasa suggestionsActivityFactory, este miembro no se usa.

cardNoMatchResponse

Obtiene o establece la plantilla que se va a enviar al usuario si selecciona la opción sin coincidencia en una tarjeta de aprendizaje activa.

cardNoMatchText

Obtiene o establece el texto del botón que se va a usar con opciones de aprendizaje activas, lo que permite a un usuario indicar que no son aplicables las opciones. Nota: Si se pasa suggestionsActivityFactory, se requiere este miembro.

displayPreciseAnswerOnly

Obtiene o establece un valor que indica si la respuesta del cuadro de diálogo debe mostrar solo respuestas precisas.

enablePreciseAnswer

Obtiene o establece un valor que indica si se debe incluir una respuesta precisa en respuesta.

endpointKey

Obtiene o establece la clave de punto de conexión de QnA Maker que se va a usar para consultar la base de conocimiento.

filters

Obtiene o establece los metadatos y orígenes usados para filtrar los resultados.

hostname

Obtiene o establece la dirección URL del host de QnA Maker para la base de conocimiento.

includeUnstructuredSources

Obtiene o establece un valor que indica si se deben incluir orígenes no estructurados en la búsqueda de respuestas.

isTest

Obtiene o establece un valor que indica si se obtiene o establece el entorno de la base de conocimiento a la que se va a llamar.

knowledgeBaseId

Obtiene o establece el identificador de la base de conocimiento de QnA Maker que se va a consultar.

logPersonalInformation

Obtiene o establece la marca para determinar si se debe registrar información personal en la telemetría.

noAnswer

Obtiene o establece la plantilla que se va a enviar al usuario cuando QnA Maker no encuentra una respuesta.

qnaServiceType

Tipo de servicio de respuesta a preguntas: qnaMaker o idioma

rankerType

Obtiene o establece el tipo de clasificador de QnA Maker que se va a usar.

strictFilters

Obtiene o establece los metadatos de QnA Maker con los que filtrar o aumentar las consultas a la base de conocimiento o null para aplicar ninguno.

strictFiltersJoinOperator

Obtiene o establece un valor - AND o OR - operación lógica en la lista de metadatos

threshold

Obtiene o establece el umbral de las respuestas devueltas, en función de la puntuación.

top

Obtiene o establece el número máximo de respuestas que se devolverán de la base de conocimiento.

Propiedades heredadas

EndOfTurn

Obtiene un resultado predeterminado de fin de turno.

id
telemetryClient

Métodos

beginDialog(DialogContext, object)

Se llama cuando se inicia el cuadro de diálogo y se inserta en la pila de diálogos.

continueDialog(DialogContext)

Se llama cuando se continúa el cuadro de diálogo, donde es el diálogo activo y el usuario responde con una nueva actividad de .

getConverter(Object)

Métodos heredados

addStep(WaterfallStep<O>)

Agrega un nuevo paso a la cascada.

configure(Record<string, unknown>)

Método Fluent para configurar el objeto.

endDialog(TurnContext, DialogInstance, DialogReason)

Se llama cuando finaliza el cuadro de diálogo.

getVersion()

Obtiene la versión del cuadro de diálogo, compuesta por el identificador y el número de pasos.

onDialogEvent(DialogContext, DialogEvent)

Se llama cuando se ha generado un evento, mediante DialogContext.emitEvent(), mediante el cuadro de diálogo actual o un diálogo que inició el diálogo actual.

repromptDialog(TurnContext, DialogInstance)

Cuando se invalida en una clase derivada, reprote el usuario para la entrada.

resumeDialog(DialogContext, DialogReason, any)

Se llama cuando un elemento secundario WaterfallDialog completó su turno, devolviendo el control a este cuadro de diálogo.

Detalles del constructor

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

Inicializa una nueva instancia de la clase 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)

Parámetros

knowledgeBaseId

string

Identificador de la base de conocimiento de QnA Maker que se va a consultar.

endpointKey

string

Clave de punto de conexión de QnA Maker que se va a usar para consultar la base de conocimiento.

hostname

string

Dirección URL del host de QnA Maker para la base de conocimiento, empezando por "https://" y terminando con "/qnamaker".

noAnswer

Activity

(Opcional) La actividad que se va a enviar al usuario cuando QnA Maker no encuentra una respuesta.

threshold

number

(Opcional) Umbral por encima del cual se tratan las respuestas encontradas de la base de conocimiento como coincidencia.

suggestionsActivityFactory
QnASuggestionsActivityFactory

(xref:botbuilder-ai. QnASuggestionsActivityFactory) usado para el formato de actividad personalizado.

cardNoMatchText

string

(Opcional) Texto del botón que se va a usar con opciones de aprendizaje activas, lo que permite al usuario indicar que ninguna de las opciones es aplicable.

top

number

(Opcional) Número máximo de respuestas que se van a devolver de la base de conocimiento.

cardNoMatchResponse

Activity

(Opcional) La actividad que se va a enviar al usuario si selecciona la opción sin coincidencia en una tarjeta de aprendizaje activa.

rankerType
RankerTypes
strictFilters

QnAMakerMetadata[]

(Opcional) Metadatos de QnA Maker con los que filtrar o aumentar las consultas a la base de conocimiento; o null para aplicar ninguno.

dialogId

string

(Opcional) Identificador del cuadro de diálogo creado. El valor predeterminado es "QnAMakerDialog".

strictFiltersJoinOperator
JoinOperator

operador join para filtros estrictos

enablePreciseAnswer

boolean

displayPreciseAnswerOnly

boolean

qnaServiceType
ServiceType

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

Inicializa una nueva instancia de la clase 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)

Parámetros

knowledgeBaseId

string

Identificador de la base de conocimiento de QnA Maker que se va a consultar.

endpointKey

string

Clave de punto de conexión de QnA Maker que se va a usar para consultar la base de conocimiento.

hostname

string

Dirección URL del host de QnA Maker para la base de conocimiento, empezando por "https://" y terminando con "/qnamaker".

noAnswer

Activity

(Opcional) La actividad que se va a enviar al usuario cuando QnA Maker no encuentra una respuesta.

threshold

number

(Opcional) Umbral por encima del cual se tratan las respuestas encontradas de la base de conocimiento como coincidencia.

activeLearningCardTitle

string

(Opcional) Título de la tarjeta que se va a usar al mostrar las opciones de aprendizaje activas para el usuario, si está habilitado el aprendizaje activo.

cardNoMatchText

string

(Opcional) Texto del botón que se va a usar con opciones de aprendizaje activas, lo que permite al usuario indicar que ninguna de las opciones es aplicable.

top

number

(Opcional) Número máximo de respuestas que se van a devolver de la base de conocimiento.

cardNoMatchResponse

Activity

(Opcional) La actividad que se va a enviar al usuario si selecciona la opción sin coincidencia en una tarjeta de aprendizaje activa.

rankerType
RankerTypes
strictFilters

QnAMakerMetadata[]

(Opcional) Metadatos de QnA Maker con los que filtrar o aumentar las consultas a la base de conocimiento; o null para aplicar ninguno.

dialogId

string

(Opcional) Identificador del cuadro de diálogo creado. El valor predeterminado es "QnAMakerDialog".

strictFiltersJoinOperator
JoinOperator

operador join para filtros estrictos

enablePreciseAnswer

boolean

displayPreciseAnswerOnly

boolean

qnaServiceType
ServiceType

Detalles de las propiedades

$kind

static $kind: string

Valor de propiedad

string

activeLearningCardTitle

Obtiene o establece el título de la tarjeta que se va a usar al mostrar las opciones de aprendizaje activas para el usuario. Nota: Si se pasa suggestionsActivityFactory, este miembro no se usa.

activeLearningCardTitle: StringExpression

Valor de propiedad

StringExpression

cardNoMatchResponse

Obtiene o establece la plantilla que se va a enviar al usuario si selecciona la opción sin coincidencia en una tarjeta de aprendizaje activa.

cardNoMatchResponse: TemplateInterface<Partial<Activity>, DialogStateManager>

Valor de propiedad

TemplateInterface<Partial<Activity>, DialogStateManager>

cardNoMatchText

Obtiene o establece el texto del botón que se va a usar con opciones de aprendizaje activas, lo que permite a un usuario indicar que no son aplicables las opciones. Nota: Si se pasa suggestionsActivityFactory, se requiere este miembro.

cardNoMatchText: StringExpression

Valor de propiedad

StringExpression

displayPreciseAnswerOnly

Obtiene o establece un valor que indica si la respuesta del cuadro de diálogo debe mostrar solo respuestas precisas.

displayPreciseAnswerOnly: boolean

Valor de propiedad

boolean

enablePreciseAnswer

Obtiene o establece un valor que indica si se debe incluir una respuesta precisa en respuesta.

enablePreciseAnswer: boolean

Valor de propiedad

boolean

endpointKey

Obtiene o establece la clave de punto de conexión de QnA Maker que se va a usar para consultar la base de conocimiento.

endpointKey: StringExpression

Valor de propiedad

StringExpression

filters

Obtiene o establece los metadatos y orígenes usados para filtrar los resultados.

filters: Filters

Valor de propiedad

hostname

Obtiene o establece la dirección URL del host de QnA Maker para la base de conocimiento.

hostname: StringExpression

Valor de propiedad

StringExpression

includeUnstructuredSources

Obtiene o establece un valor que indica si se deben incluir orígenes no estructurados en la búsqueda de respuestas.

includeUnstructuredSources: boolean

Valor de propiedad

boolean

isTest

Obtiene o establece un valor que indica si se obtiene o establece el entorno de la base de conocimiento a la que se va a llamar.

isTest: boolean

Valor de propiedad

boolean

knowledgeBaseId

Obtiene o establece el identificador de la base de conocimiento de QnA Maker que se va a consultar.

knowledgeBaseId: StringExpression

Valor de propiedad

StringExpression

logPersonalInformation

Obtiene o establece la marca para determinar si se debe registrar información personal en la telemetría.

logPersonalInformation: BoolExpression

Valor de propiedad

BoolExpression

noAnswer

Obtiene o establece la plantilla que se va a enviar al usuario cuando QnA Maker no encuentra una respuesta.

noAnswer: TemplateInterface<Partial<Activity>, DialogStateManager>

Valor de propiedad

TemplateInterface<Partial<Activity>, DialogStateManager>

qnaServiceType

Tipo de servicio de respuesta a preguntas: qnaMaker o idioma

qnaServiceType: ServiceType

Valor de propiedad

rankerType

Obtiene o establece el tipo de clasificador de QnA Maker que se va a usar.

rankerType: EnumExpression<RankerTypes>

Valor de propiedad

EnumExpression<RankerTypes>

strictFilters

Obtiene o establece los metadatos de QnA Maker con los que filtrar o aumentar las consultas a la base de conocimiento o null para aplicar ninguno.

strictFilters: QnAMakerMetadata[]

Valor de propiedad

strictFiltersJoinOperator

Obtiene o establece un valor - AND o OR - operación lógica en la lista de metadatos

strictFiltersJoinOperator: JoinOperator

Valor de propiedad

threshold

Obtiene o establece el umbral de las respuestas devueltas, en función de la puntuación.

threshold: NumberExpression

Valor de propiedad

NumberExpression

top

Obtiene o establece el número máximo de respuestas que se devolverán de la base de conocimiento.

top: IntExpression

Valor de propiedad

IntExpression

Detalles de las propiedades heredadas

EndOfTurn

Obtiene un resultado predeterminado de fin de turno.

static EndOfTurn: DialogTurnResult

Valor de propiedad

DialogTurnResult

Comentarios

Este resultado indica que un cuadro de diálogo (o un paso lógico dentro de un diálogo) ha completado el procesamiento del turno actual, sigue activo y está esperando más entradas.

heredado de dialog.EndOfTurn

id

id: string

Valor de propiedad

string

heredado de Dialog.id

telemetryClient

telemetryClient: BotTelemetryClient

Valor de propiedad

BotTelemetryClient

Heredado de Dialog.telemetryClient

Detalles del método

beginDialog(DialogContext, object)

Se llama cuando se inicia el cuadro de diálogo y se inserta en la pila de diálogos.

function beginDialog(dc: DialogContext, options?: object): Promise<DialogTurnResult>

Parámetros

dc

DialogContext

dialogContext para el turno actual de conversación.

options

object

(Opcional) Información inicial que se va a pasar al cuadro de diálogo.

Devoluciones

Promise<DialogTurnResult>

Una promesa que resuelve el resultado del turno

continueDialog(DialogContext)

Se llama cuando se continúa el cuadro de diálogo, donde es el diálogo activo y el usuario responde con una nueva actividad de .

function continueDialog(dc: DialogContext): Promise<DialogTurnResult>

Parámetros

dc

DialogContext

dialogContext para el turno actual de conversación.

Devoluciones

Promise<DialogTurnResult>

Promesa que representa la operación asincrónica.

getConverter(Object)

function getConverter(property: Object): Converter | ConverterFactory

Parámetros

property

Object

Propiedades que extienden QnAMakerDialogConfiguration.

Devoluciones

Converter | ConverterFactory

Convertidor de expresiones.

Detalles de los métodos heredados

addStep(WaterfallStep<O>)

Agrega un nuevo paso a la cascada.

function addStep(step: WaterfallStep<O>): this

Parámetros

step

WaterfallStep<O>

Función de paso asincrónica que se va a llamar.

Devoluciones

this

Cuadro de diálogo en cascada para llamadas fluidas a addStep().

Comentarios

Todas las funciones de paso deben ser asincrónicas y devolver un DialogTurnResult. El WaterfallStepContext pasado a la función deriva de DialogContext y contiene numerosos métodos de manipulación de pila que devuelven un DialogTurnResult para que normalmente pueda devolver el resultado del método DialogContext al que llama.

La propia función step puede ser un cierre asincrónico:

const helloDialog = new WaterfallDialog('hello');

helloDialog.addStep(async (step) => {
    await step.context.sendActivity(`Hello World!`);
    return await step.endDialog();
});

Una función asincrónica con nombre:

async function helloWorldStep(step) {
    await step.context.sendActivity(`Hello World!`);
    return await step.endDialog();
}

helloDialog.addStep(helloWorldStep);

O bien, un método de clase que se ha enlazado a su puntero this:

helloDialog.addStep(this.helloWorldStep.bind(this));

Heredado de WaterfallDialog.addStep

configure(Record<string, unknown>)

Método Fluent para configurar el objeto.

function configure(config: Record<string, unknown>): this

Parámetros

config

Record<string, unknown>

Opciones de configuración que se van a aplicar.

Devoluciones

this

configurable una vez completada la operación.

Heredado de Configurable.configure

endDialog(TurnContext, DialogInstance, DialogReason)

Se llama cuando finaliza el cuadro de diálogo.

function endDialog(context: TurnContext, instance: DialogInstance, reason: DialogReason): Promise<void>

Parámetros

context

TurnContext

Contexto para el turno actual de conversación.

instance

DialogInstance

Instancia del cuadro de diálogo actual.

reason

DialogReason

Motivo por el que finaliza el cuadro de diálogo.

Devoluciones

Promise<void>

heredado de WaterfallDialog.endDialog

getVersion()

Obtiene la versión del cuadro de diálogo, compuesta por el identificador y el número de pasos.

function getVersion(): string

Devoluciones

string

Versión del cuadro de diálogo, compuesta por el identificador y el número de pasos.

Heredado de WaterfallDialog.getVersion

onDialogEvent(DialogContext, DialogEvent)

Se llama cuando se ha generado un evento, mediante DialogContext.emitEvent(), mediante el cuadro de diálogo actual o un diálogo que inició el diálogo actual.

function onDialogEvent(dc: DialogContext, e: DialogEvent): Promise<boolean>

Parámetros

dc

DialogContext

Contexto del cuadro de diálogo para el turno actual de conversación.

e

DialogEvent

Evento que se está generando.

Devoluciones

Promise<boolean>

True si el diálogo actual controla el evento y se debe detener la propagación.

Heredado de Dialog.onDialogEvent

repromptDialog(TurnContext, DialogInstance)

Cuando se invalida en una clase derivada, reprote el usuario para la entrada.

function repromptDialog(_context: TurnContext, _instance: DialogInstance): Promise<void>

Parámetros

_context

TurnContext

Objeto de contexto del turno.

_instance

DialogInstance

Información de estado actual para este cuadro de diálogo.

Devoluciones

Promise<void>

Comentarios

Los diálogos derivados que admiten la validación y la lógica de nueva solicitud deben invalidar este método. De forma predeterminada, este método no tiene ningún efecto.

El DialogContext llama a este método cuando el diálogo actual debe volver a solicitar la entrada del usuario. Este método se implementa para los cuadros de diálogo de solicitud.

Consulte también

Heredado de Dialog.repromptDialog

resumeDialog(DialogContext, DialogReason, any)

Se llama cuando un elemento secundario WaterfallDialog completó su turno, devolviendo el control a este cuadro de diálogo.

function resumeDialog(dc: DialogContext, reason: DialogReason, result?: any): Promise<DialogTurnResult>

Parámetros

dc

DialogContext

El dialogContext de para el turno actual de la conversación.

reason

DialogReason

(xref:botbuilder-dialogs. DialogReason) por qué se reanudó el diálogo.

result

any

Opcional, el valor devuelto desde el cuadro de diálogo al que se llamó. El tipo del valor devuelto depende del cuadro de diálogo secundario.

Devoluciones

Promise<DialogTurnResult>

Promesa que representa la operación asincrónica.

Heredado de WaterfallDialog.resumeDialog