Поделиться через


botbuilder-dialogs package

Классы

ChoiceFactory

Набор служебных функций для поддержки форматирования действия "сообщения", содержащего список вариантов.

ComponentDialog

Базовый класс для диалогового окна, содержащего другие дочерние диалоги.

Configurable

Базовый класс для всех настраиваемых классов.

Dialog

Определяет основное поведение для всех диалоговых окон.

DialogContainer

Контейнер для набора диалогов.

DialogContext

Контекст текущего диалогового окна в отношении определенного DialogSet.

DialogContextError

Ошибка, содержащая дополнительный контекст диалогового окна, включая стек диалогов.

DialogEvents

Представляет события, связанные с жизненным циклом диалогового окна.

DialogManager

Класс, который запускает систему диалогов.

DialogSet

Связанный набор диалогов, который может вызывать друг друга.

DialogTurnStateConstants

Определяет константы состояния диалогового окна.

DialogsBotComponent

Компонент Bot для диалоговых окон бота.

DialogsComponentRegistration

Делает компонент диалогов доступным для функции регистрации системы.

DialogPath

Определяет путь для доступных диалогов.

DialogStateManager

DialogStateManager управляет областями памяти и разрешениями путей.

AliasPathResolver

Карты псевдонимаXXXX -> path.xxx ($foo => dialog.foo).

AtAtPathResolver

Карты @@ = массив> turn.recognized.entitites.xxx.

AtPathResolver

Карты @@ => turn.recognized.entitites.xxx[0]

DollarPathResolver

Карты $xxx => dialog.xxx

HashPathResolver

Карты #xxx => turn.recognized.intents.xxx

PercentPathResolver

Карты %xxx => class.xxx (ака activeDialog.properties.xxx)

ScopePath

Определяет пути для доступных областей.

BotStateMemoryScope

Базовый класс для областей памяти на основе BotState.

ClassMemoryScope

КлассMemoryScope сопоставляет "класс" —> dc.activeDialog.properties

ConversationMemoryScope

Память, ограниченная текущей беседой.

DialogClassMemoryScope

DialogClassMemoryScope сопоставляет "dialogClass" —> dc.parent.activeDialog.properties

DialogContextMemoryScope

DialogContextMemoryScope сопоставляет "dialogcontext" —> свойства.

DialogMemoryScope

DialogMemoryScope сопоставляет "dialog" —> dc.parent.activeDialog.state || dc.activeDialog.state

MemoryScope

Абстрактный базовый класс для всех областей памяти.

SettingsMemoryScope

SettingsMemoryScope сопоставляет "параметры" —> dc.context.turnState['settings']

ThisMemoryScope

ThisMemoryScope сопоставляет "this" —> dc.activeDialog.state

TurnMemoryScope

TurnMemoryScope представляет область памяти, ограниченную текущим поворотом.

UserMemoryScope

Память, ограниченная текущим пользователем.

ThisPath

Определяет путь, переданный в активное диалоговое окно.

TurnPath

Определяет путь для отключаемых поворотов.

ActivityPrompt

Ожидает получения действия.

AttachmentPrompt

Предлагает пользователю отправлять вложения, такие как изображения.

ChoicePrompt

Предложит пользователю выбрать из списка вариантов.

ConfirmPrompt

Предлагает пользователю подтвердить что-то с ответом "да" или "нет".

DateTimePrompt

Предложит пользователю ввести выражение datetime.

NumberPrompt

Предложит пользователю ввести номер.

OAuthPrompt

Создает новый запрос, запрашивающий вход пользователя с помощью службы единого входа Bot Frameworks.

Prompt

Базовый класс для всех запросов.

PromptCultureModels

Контейнер классов для поддерживаемых в настоящее время моделей языка и региональных параметров в запросе на подтверждение и выбор.

TextPrompt

Предложит пользователю ввести текст.

Recognizer

Базовый класс Распознавателя.

SkillDialog

Специализированное диалоговое окно, которое может упаковывать удаленные вызовы к навыку.

WaterfallDialog

Каскад — это диалоговое окно, оптимизированное для запроса пользователя с рядом вопросов.

WaterfallStepContext

Объект контекста, переданный в WaterfallStep.

Интерфейсы

BeginSkillDialogOptions

Класс с аргументами диалогового окна для SkillDialog.

ChoiceFactoryOptions

Дополнительные параметры, используемые для настройки форматирования списков выбора.

Choice

Экземпляр выбора, который можно использовать для отрисовки выбора пользователю или распознавания выбранного пользователя.

FindChoicesOptions

Параметры управления распознаванием, выполняемого findChoices().

FoundChoice

Результат, возвращаемый findChoices().

FindValuesOptions

Базовые параметры поиска, используемые для управления распознаванием вариантов в речевых фрагментах пользователей.

FoundValue

INTERNAL: необработанный результат поиска, возвращаемый findValues().

SortedValue

INTERNAL: значение, которое можно отсортировать и по-прежнему ссылаться на исходное положение в исходном массиве. Функция findChoices() расширяет переданные варианты для отдельных экземпляров SortedValue и передает их в findValues(). Каждая отдельная Choice может привести к нескольким синонимам, которые следует искать таким образом, чтобы эта структура данных позволяет передавать каждый синоним в качестве значения для поиска при сохранении индекса выбранного значения.

ModelResult

Внешний результат, возвращаемый распознавателями сущностей, например recognizeChoices().

Token

Отдельный маркер, возвращаемый TokenizerFunction.

Converter

Преобразователь преобразует объект из одного типа в другой.

DialogConfiguration
DialogEvent
DialogInstance

Содержит сведения о состоянии для экземпляра диалогового окна в стеке.

DialogTurnResult

Представляет результат попытки контекста диалога начать, продолжить или иным образом управлять одним или несколькими диалогами.

DialogState

Содержит состояние диалогового окна, сведения о состоянии стека диалогов для определенного DialogSet.

DialogManagerConfiguration
DialogManagerResult
DialogDependencies
ComponentMemoryScopes

Интерфейс для перечисления областей памяти.

ComponentPathResolvers

Интерфейс для объявления сопоставителей путей.

DialogStateManagerConfiguration
PathResolver

Корпорация Майкрософт(c) корпорация Майкрософт. Все права защищены. Лицензирована в соответствии с лицензией MIT.

ChoiceDefaultsChoicePrompt
ChoiceDefaultsConfirmPrompt
DateTimeResolution

Результат, возвращаемый DateTimePrompt.

OAuthPromptSettings

Параметры, используемые для настройки экземпляра OAuthPrompt.

PromptOptions

Базовые параметры конфигурации, поддерживаемые всеми запросами.

PromptRecognizerResult

Результат, возвращаемый функцией распознавателя запросов.

PromptValidatorContext

Контекстные сведения, передаваемые пользовательскому PromptValidator.

PromptCultureModel
RecognizerConfiguration
SkillDialogOptions
TemplateInterface

Определяет интерфейс шаблона для привязки данных к T.

WaterfallStepInfo

Значения, передаваемые конструктору WaterfallStepContext.

Псевдонимы типа

TokenizerFunction

Подпись для альтернативного средства разбиения слов, который можно передать в recognizeChoices(), findChoices()или findValues().

type TokenizerFunction = (text: string, locale?: string) => Token[];
ConverterFactory
PromptValidator

Сигнатура функции для предоставления пользовательского проверяющего элемента запроса.

type PromptValidator<T> = (prompt: PromptValidatorContext<T>) => Promise<boolean>;
WaterfallStep

Сигнатура функции отдельного каскадного шага.

type WaterfallStep<O extends object = {}> = (step: WaterfallStepContext<O>) => Promise<DialogTurnResult>;

Перечисления

DialogReason

Указывает, почему вызывается метод диалогового окна.

DialogTurnStatus

Представляет состояние стека диалогов после попытки начать, продолжить или иным образом управлять одним или несколькими диалогами. См. также

ListStyle

Управляет способом представления пользователем вариантов ChoicePrompt или да или нет для ConfirmPrompt.

Функции

findChoices(string, string | Choice[], FindChoicesOptions)

Функция поиска среднего уровня для распознавания выбора в высказывании.

findValues(string, SortedValue[], FindValuesOptions)

INTERNAL: низкоуровневая функция, которая ищет набор значений в речевых фрагментах. Более высокий уровень функций, таких как findChoices() и recognizeChoices(), находятся над этой функцией. В большинстве случаев его проще просто вызвать одну из функций более высокого уровня, но эта функция содержит нечеткий алгоритм поиска, который управляет распознаванием выбора.

recognizeChoices(string, string | Choice[], FindChoicesOptions)

Функция высокого уровня для распознавания выбора в высказывании пользователей.

defaultTokenizer(string, string)

Простой токенизатор, который разбивается на пробелы и знаки препинания.

getActiveDialogContext(DialogContext)

Рекурсивно перейдите по стеку контроллера домена, чтобы найти активный контроллер домена.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)
isFromParentToSkill(TurnContext)

Определяет, действует ли навык в качестве родителя навыка.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Запускает диалоговое окно из заданного контекста и метода доступа.

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Помощник, чтобы определить, следует ли отправлять EoC родительскому элементу или нет.

isComponentMemoryScopes(unknown)

Проверьте, компонента ComponentRegistration ComponentMemoryScopes или нет.

isComponentPathResolvers(unknown)

Проверьте , ComponentRegistration ComponentPathResolvers.

createConnectorClient(TurnContext, string, ClaimsIdentity, string)
exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)
getSignInResource(TurnContext, OAuthPromptSettings)
getUserToken(TurnContext, OAuthPromptSettings, string)
signOutUser(TurnContext, OAuthPromptSettings)

Сведения о функции

findChoices(string, string | Choice[], FindChoicesOptions)

Функция поиска среднего уровня для распознавания выбора в высказывании.

function findChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

Параметры

utterance

string

Текст или высказывание пользователя для поиска. Для входящего действия "сообщение" можно просто использовать context.activity.text.

choices

string | Choice[]

Список вариантов поиска.

options
FindChoicesOptions

(Необязательно) параметры, используемые для настройки выполняемого поиска.

Возвращаемое значение

Список найденных вариантов, отсортированный по наиболее релевантной первой.

Комментарии

Эта функция представлена выше findValues() и просто определяет все синонимы, которые следует искать перед вызовом findValues() для выполнения фактического поиска. Функция recognizeChoices() находится над этой функцией и добавляет возможность выбора по индексу или порядковой позиции в списке. Вызов этой конкретной функции полезен, если вы не хотите, чтобы распознавание индексов и порядкового положения выполнялось recognizeChoices().

const { findChoices } = require('botbuilder-choices');

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = findChoices(utterance, choices);
if (results.length == 1) {
    await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
    const ambiguous = results.map((r) => r.resolution.value);
    await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
    await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}

findValues(string, SortedValue[], FindValuesOptions)

INTERNAL: низкоуровневая функция, которая ищет набор значений в речевых фрагментах. Более высокий уровень функций, таких как findChoices() и recognizeChoices(), находятся над этой функцией. В большинстве случаев его проще просто вызвать одну из функций более высокого уровня, но эта функция содержит нечеткий алгоритм поиска, который управляет распознаванием выбора.

function findValues(utterance: string, values: SortedValue[], options?: FindValuesOptions): ModelResult<FoundValue>[]

Параметры

utterance

string

Текст или высказывание пользователя для поиска.

values

SortedValue[]

Список значений для поиска.

options
FindValuesOptions

(Необязательно) параметры, используемые для настройки выполняемого поиска.

Возвращаемое значение

Список найденных значений.

recognizeChoices(string, string | Choice[], FindChoicesOptions)

Функция высокого уровня для распознавания выбора в высказывании пользователей.

function recognizeChoices(utterance: string, choices: string | Choice[], options?: FindChoicesOptions): ModelResult<FoundChoice>[]

Параметры

utterance

string

Текст или высказывание пользователя для поиска. Для входящего действия "сообщение" можно просто использовать context.activity.text.

choices

string | Choice[]

Список вариантов поиска.

options
FindChoicesOptions

(Необязательно) параметры, используемые для настройки выполняемого поиска.

Возвращаемое значение

Список найденных вариантов, отсортированный по наиболее релевантной первой.

Комментарии

Это многоуровнево над функцией findChoices() и добавляет логику, чтобы пользователь указал свой выбор по индексу (он может сказать "один" выбрать choice[0]) или порядковый номер (они могут сказать "второй", чтобы выбрать choice[1].) Речевые фрагменты пользователей распознаны в следующем порядке:

  • По имени с помощью findChoices().
  • По порядковой позиции 1.
  • По позиции индекса на основе 1.
const { recognizeChoices } = require('botbuilder-choices');

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices);
if (results.length == 1) {
    await context.sendActivity(`I like ${results[0].resolution.value} too!`);
} else if (results.length > 1) {
    const ambiguous = results.map((r) => r.resolution.value);
    await context.sendActivity(ChoiceFactory.forChannel(context, ambiguous, `Which one?`));
} else {
    await context.sendActivity(ChoiceFactory.forChannel(context, choices, `I didn't get that... Which color?`));
}

defaultTokenizer(string, string)

Простой токенизатор, который разбивается на пробелы и знаки препинания.

function defaultTokenizer(text: string, _locale?: string): Token[]

Параметры

text

string

Входной текст.

_locale

string

Необязательный атрибут определяет языковой стандарт входного текста.

Возвращаемое значение

Token[]

Список маркеров.

Комментарии

Единственной нормализацией является нижний регистр маркеров. Разработчики могут упаковать этот токенизатор с помощью собственной функции, чтобы выполнить дополнительную нормализацию, например .

const { recognizeChoices, defaultTokenizer } = require('botbuilder-choices');
const stemmer = require('stemmer');

function customTokenizer(text, locale) {
   const tokens = defaultTokenizer(text, locale);
   tokens.forEach((t) => {
       t.normalized = stemmer(t.normalized);
   });
   return tokens;
}

const choices = ['red', 'green', 'blue'];
const utterance = context.activity.text;
const results = recognizeChoices(utterance, choices, { tokenizer: customTokenizer });

getActiveDialogContext(DialogContext)

Рекурсивно перейдите по стеку контроллера домена, чтобы найти активный контроллер домена.

function getActiveDialogContext(dialogContext: DialogContext): DialogContext

Параметры

dialogContext
DialogContext

(xref:botbuilder-dialogs. DialogContext) для текущей очереди беседы с пользователем.

Возвращаемое значение

Активный DialogContext.

internalRun(TurnContext, string, DialogContext, DialogStateManagerConfiguration)

function internalRun(context: TurnContext, dialogId: string, dialogContext: DialogContext, dialogStateManagerConfiguration?: DialogStateManagerConfiguration): Promise<DialogTurnResult>

Параметры

context

TurnContext

TurnContext для поворота.

dialogId

string

Идентификатор диалогового окна.

dialogContext
DialogContext

DialogContext для текущей очереди беседы.

dialogStateManagerConfiguration
DialogStateManagerConfiguration

Настройка диспетчера состояний диалогового окна.

Возвращаемое значение

Promise<DialogTurnResult>

обещание, разрешающее результат поворота диалога.

isFromParentToSkill(TurnContext)

Определяет, действует ли навык в качестве родителя навыка.

function isFromParentToSkill(context: TurnContext): boolean

Параметры

context

TurnContext

(xref:botbuilder-core. Объект TurnContext) для текущей очереди беседы с пользователем.

Возвращаемое значение

boolean

Логическое значение, представляющее, действует ли навык в качестве родителя навыка.

runDialog(Dialog, TurnContext, StatePropertyAccessor<DialogState>)

Запускает диалоговое окно из заданного контекста и метода доступа.

function runDialog(dialog: Dialog, context: TurnContext, accessor: StatePropertyAccessor<DialogState>): Promise<void>

Параметры

dialog
Dialog

Диалоговое окно для запуска.

context

TurnContext

(xref:botbuilder-core. Объект TurnContext) для текущей очереди беседы с пользователем.

accessor

StatePropertyAccessor<DialogState>

Определенные методы для доступа к свойству состояния, созданному в объекте BotState.

Возвращаемое значение

Promise<void>

shouldSendEndOfConversationToParent(TurnContext, DialogTurnResult)

Помощник, чтобы определить, следует ли отправлять EoC родительскому элементу или нет.

function shouldSendEndOfConversationToParent(context: TurnContext, turnResult: DialogTurnResult): boolean

Параметры

context

TurnContext

TurnContext для поворота.

turnResult
DialogTurnResult

Результат поворота диалогового окна.

Возвращаемое значение

boolean

Значение True, если должно отправлять EoC, в противном случае — значение false.

isComponentMemoryScopes(unknown)

Проверьте, компонента ComponentRegistration ComponentMemoryScopes или нет.

function isComponentMemoryScopes(component: unknown): boolean

Параметры

component

unknown

Регистрация компонента.

Возвращаемое значение

boolean

Результат проверки типа.

isComponentPathResolvers(unknown)

Проверьте , ComponentRegistration ComponentPathResolvers.

function isComponentPathResolvers(component: unknown): boolean

Параметры

component

unknown

Регистрация компонента.

Возвращаемое значение

boolean

Результат проверки типа.

createConnectorClient(TurnContext, string, ClaimsIdentity, string)

function createConnectorClient(context: TurnContext, serviceUrl: string, claimsIdentity: ClaimsIdentity, audience: string): Promise<ConnectorClient>

Параметры

context

TurnContext

serviceUrl

string

claimsIdentity

ClaimsIdentity

audience

string

Возвращаемое значение

Promise<ConnectorClient>

exchangeToken(TurnContext, OAuthPromptSettings, TokenExchangeRequest)

function exchangeToken(context: TurnContext, settings: OAuthPromptSettings, tokenExchangeRequest: TokenExchangeRequest): Promise<TokenResponse>

Параметры

context

TurnContext

tokenExchangeRequest

TokenExchangeRequest

Возвращаемое значение

Promise<TokenResponse>

getSignInResource(TurnContext, OAuthPromptSettings)

function getSignInResource(context: TurnContext, settings: OAuthPromptSettings): Promise<SignInUrlResponse>

Параметры

context

TurnContext

Возвращаемое значение

Promise<SignInUrlResponse>

getUserToken(TurnContext, OAuthPromptSettings, string)

function getUserToken(context: TurnContext, settings: OAuthPromptSettings, magicCode: string): Promise<TokenResponse>

Параметры

context

TurnContext

magicCode

string

Возвращаемое значение

Promise<TokenResponse>

signOutUser(TurnContext, OAuthPromptSettings)

function signOutUser(context: TurnContext, settings: OAuthPromptSettings): Promise<void>

Параметры

context

TurnContext

Возвращаемое значение

Promise<void>