Изменить макет ответа в QnA Maker

В дополнение к преобразованию концов строки CRLF в LF, dos2unix также удаляет спецификации:

dos2unix *.txt

dos2unix также преобразует файлы UTF-16 с спецификацией (но не файлы UTF-16 без спецификация) в UTF-8 без спецификации:

$ printf '\ufeffä\n'|iconv -f utf-8 -t utf-16be>bom-utf16be
$ printf '\ufeffä\n'|iconv -f utf-8 -t utf-16le>bom-utf16le
$ printf '\ufeffä\n'>bom-utf8
$ printf 'ä\n'|iconv -f utf-8 -t utf-16be>utf16be
$ printf 'ä\n'|iconv -f utf-8 -t utf-16le>utf16le
$ printf 'ä\n'>utf8
$ for f in *;do printf '%11s %s\n' $f $(xxd -p $f);done
bom-utf16be feff00e4000a
bom-utf16le fffee4000a00
   bom-utf8 efbbbfc3a40a
    utf16be 00e4000a
    utf16le e4000a00
       utf8 c3a40a
$ dos2unix -q *
$ for f in *;do printf '%11s %s\n' $f $(xxd -p $f);done
bom-utf16be c3a40a
bom-utf16le c3a40a
   bom-utf8 c3a40a
    utf16be 00e4000a
    utf16le e4000a00
       utf8 c3a40a
0
задан Eng Soon Cheah 25 March 2019 в 02:32
поделиться

1 ответ

Используя пакет QnAMaker v3, на который вы ссылались, вы сможете самостоятельно контролировать тип и формат ответа. Добавляя, однако, много ответов, которые вы считаете подходящими в качестве вложений, и устанавливая тип вложения в Карусель.

Вы можете переопределить метод, который возвращает ответ пользователю в QnAMakerDialog, как показано ниже;

protected override async Task RespondFromQnAMakerResultAsync(IDialogContext context, IMessageActivity message, QnAMakerResults results)
        {
            if (results.Answers.Count > 0)
            {
                // build your response here adding card attachment for each answer
                // and set attachment type to carusel
                await context.PostAsync(response);
            }
        }
0
ответ дан GaryPretty 25 March 2019 в 02:32
поделиться