Botframework-solutions: Сценарий PowerShell Export Cognitive Service (qnamaker: kb: export) qna export изменяет специальные символы

Созданный на 25 нояб. 2020  ·  27Комментарии  ·  Источник: microsoft/botframework-solutions

Какой проект затронут?
Скрипт развертывания

На каком это языке?
Что происходит?
Специальные символы :
Подсказки:

Plus d'information sur la lettre re├?
экспортируются вот так

это должно быть - Plus d'information sur la lettre reçu des éléctions?

Как воспроизвести эту проблему?
Шаги по воспроизведению поведения:

Создать базу знаний
Используйте специальные символы в поле вопроса или ответа.
Экспорт с помощью скрипта update_cognitive_services.ps1
Проверьте результат в Deployment / Resources / Qna / {language} /nameofknowledgebase.qna.

Чего вы ожидали?
Поддержка специальных символов, таких как é, ç, ë, à и т. Д.

Можете ли вы поделиться журналами, выводом ошибок и т. Д.?
Есть скриншоты или дополнительный контекст?

Я снова открываю эту проблему, у меня сейчас та же проблема, даже если я поставил "-encoding oem $ ($ outJson)"

Bot Services customer-replied-to customer-reported

Самый полезный комментарий

Создал PR в cli https://github.com/microsoft/botframework-cli/pull/1065 для поддержки вывода экспортированного содержимого qna в файл с параметром --out. С этими изменениями пользователи могут использовать --out, чтобы указать путь к выходному файлу. Проверено, что работает для PowerShell.

Все 27 Комментарий

Благодарим @edemehmetcan за сообщение об этой проблеме. Мы рассмотрим эту проблему, следуя инструкциям по воспроизведению, которые вы упомянули.

Мы вернемся к вам, как только у нас появятся какие-либо обновления для вас 😊.

Большое спасибо @ Batta32 . Я жду твоего ответа.

Пожалуйста, также проверьте это? Во время экспорта есть опция «qnaFormat», это логическое значение, которое я установил в значение true, чтобы иметь файл .qna в моем репозитории, но у меня появляется ошибка «Неожиданный аргумент: истина»

https://www.npmjs.com/package/@microsoft/bf -qnamaker # bf-qnamakerkbexport

Зачем это использовать? Я хочу напрямую экспортировать файл .qna, а не передавать его через bf qnamaker: convert after для преобразования json в файл QnA.

@edemehmetcan как вы выполняете команду bf qnamaker:kb:export с аргументом --qnaFormat ?
Это должно выполняться следующим образом:

bf qnamaker:kb:export --endpoint $qnaEndpoint --environment Prod --kbId $kb.kbId --subscriptionKey $kb.subscriptionKey --qnaFormat

Посмотрите этот пример модульных тестов репозитория botframework-cli .

Я пытался экспортировать его вот так, и теперь он работает, правильный ли синтаксис?

        bf qnamaker:kb:export `
            --endpoint $qnaEndpoint `
            --environment Prod `
            --kbId $kb.kbId `
            --subscriptionKey $kb.subscriptionKey `
            --qnaFormat | Out-File -Force $($fileDestination)

Да! Этот синтаксис тоже правильный .

Сейчас мы будем рассматривать проблему со специальными символами, и как только у нас появятся какие-либо обновления для вас, мы вернемся к этой теме 😊.

Супер спасибо!

Когда я пытаюсь без "Out-File", экспорт правильный (в Терминале) с правильными символами. Один раз экспорт в файл .. Снова странно меняются символы ...

Спасибо @edemehmetcan за это. Не могли бы вы подтвердить, является ли это той же проблемой, что и в этой ?
И если это так, то этот пиар должен это исправить.

Я обновил botframework-cli, и тот же сценарий был запущен в Azure DevOps (шаг Azure CLI), символы все еще изменены ... @axelsrz @ Batta32

После просмотра файла стало лучше, чем раньше. Теперь у меня проблема с «é» и «ï».

@axelsrz - стоит ли переносить эту проблему в репозиторий botframework-cli ? Поскольку это похоже на проблему, связанную с инструментом bf-cli (в частности, bf qnamaker:kb:export )

@ Batta32 Даже если я выполню qnamaker: kb : экспортируйте локально с помощью powershell. У меня все еще есть проблема с персонажами. Я бы сказал, что это не связано с Azure CLI ...

@edemehmetcan - похоже, не связан с Azure CLI, но, вероятно, связан с botframework-cli, который является интерфейсом, используемым для управления ботами Bot Framework и связанными службами (см. репозиторий botframework-cli ), этот CLI содержит bf qna:maker:kb:export команда, которую вы используете 😊.

Привет @edemehmetcan!

Можете ли вы попробовать изменить конфигурацию PS для использования UTF? См. Соответствующую ссылку ниже.
https://stackoverflow.com/questions/40098771/changing-powershells-default-output-encoding-to-utf-8

Привет @hcyang, спасибо за ответ. PowerShell использует UTF8.

Я кое-что заметил, после экспорта qna и открытия в Notepad ++ кодировка - "UCS 2 le BOM", что очень странно ...

И очень обидно, что у qnamaker : export нет такого свойства, как " luis: export", --out.

С Уважением

Привет, ребята, я провел небольшое расследование, и, похоже, это не связано с bf-cli. Это больше связано с проблемой формата кодировки вывода PowerShell. Я использую cmd для вызова указанной выше команды экспорта, и вывод возвращает нормальный результат для специальных символов, но когда я использую powershell для вызова той же команды, вывод возвращает необнаруженный результат. Таким образом, эта проблема возникает только с PowerShell с установленным Out-File. Я пробовал несколько способов установить кодировку по умолчанию в UTF в PowerShell, но, похоже, не работает. Это та же проблема с указанным выше https://github.com/microsoft/botframework-cli/issues/1057 @axelsrz .

Как предложил @edemehmetcan , необязательное исправление - добавить --out для команды экспорта kb, чтобы она не зависела от Out-File или >> или > для выходных файлов

Добавьте @munozemilio, чтобы получить больше информации.

Создал PR в cli https://github.com/microsoft/botframework-cli/pull/1065 для поддержки вывода экспортированного содержимого qna в файл с параметром --out. С этими изменениями пользователи могут использовать --out, чтобы указать путь к выходному файлу. Проверено, что работает для PowerShell.

@ feich-ms Спасибо за ответ. Это то, что я искал! Жду, что пиар слит и попробую.

@munozemilio , можете ли вы просмотреть PR @ feich-ms?

Здравствуйте, я только что попробовал после обновления botframework-cli до версии 4.11.1

            bf qnamaker:kb:export `
            --endpoint $qnaEndpoint `
            --environment Prod `
            --kbId $kb.kbId `
            --qnaFormat `
            --out $outQnA `
            --subscriptionKey $kb.subscriptionKey `
            --force

У меня такая ошибка: «. Неожиданные аргументы: --out»

Привет, @edemehmetcan , [email protected] был выпущен 8 дней назад и не содержит PR microsoft / botframework-cli # 1065, поскольку он был объединен 3 дня назад.

Эти изменения будут интегрированы в следующий выпуск инструмента botframework-cli 😊.

Привет @ Batta32, это то, о чем я подумал. Спасибо за разъяснения. Когда будет запланирован следующий выпуск? :)

@munozemilio & @ feich-ms - есть ли ожидаемое время прибытия новой версии инструмента botframework-cli?

обновление? @munozemilio и @ feich-ms @ Batta32

@edemehmetcan извините за поздний ответ, насколько я знаю, следующий выпуск будет не слишком рано. Чтобы разблокировать вас, вы можете установить последнюю версию ночной сборки, которая уже содержит исправление. Просто используйте npm install -g @ microsoft / botframework-cli @ next . Будет установлена ​​последняя версия 4.12.0-dev.20201208.3315f42. Спасибо.

@ feich-ms большое спасибо, он работает со следующей версией :) жду настоящего релиза тогда ...

@ feich-ms @ Batta32 Когда будет доступен следующий выпуск?

Привет, @edemehmetcan , извините за поздний ответ. Насколько мне известно, следующий выпуск будет в середине февраля. 2/12 - день завершения кода, и мы можем выдвинуть выпуск через неделю после этого.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги