Botframework-solutions: Exportar script de powershell de Cognitive Service (qnamaker: kb: export) qna exportar mangles caracteres especiales

Creado en 25 nov. 2020  ·  27Comentarios  ·  Fuente: microsoft/botframework-solutions

¿Qué proyecto se ve afectado?
Script de implementación

¿En qué idioma es esto?
¿Lo que sucede?
Caracteres especiales :
Indicaciones:

Plus d'information sur la lettre reçu des éléctions?
se exportan así

tiene que ser - Plus d'information sur la lettre reçu des éléctions?

¿Cuáles son los pasos para reproducir este problema?
Pasos para reproducir el comportamiento:

Crea una base de conocimientos
Utilice los caracteres especiales en el campo Pregunta o Respuesta
Exportar usando el script update_cognitive_services.ps1
Inspeccione el resultado en Deployment / Resources / Qna / {language} /nameofknowledgebase.qna

¿Qué esperabas que sucediera?
Admite caracteres especiales como é, ç, ë, à, etc.

¿Puede compartir algún registro, salida de error, etc.?
¿Alguna captura de pantalla o contexto adicional?

Estoy reabriendo este problema, tengo el mismo problema en este momento, incluso si he puesto "-encoding oem $ ($ outJson)"

Bot Services customer-replied-to customer-reported

Comentario más útil

Creó un PR en cli https://github.com/microsoft/botframework-cli/pull/1065 para admitir la salida de contenido qna exportado a un archivo con la opción --out. Con estos cambios en, los usuarios pueden usar --out para especificar la ruta del archivo de salida. Probado que funciona para powershell.

Todos 27 comentarios

Gracias @edemehmetcan por informar de este problema. Revisaremos este problema siguiendo los pasos de reproducción que mencionaste.

Te responderemos tan pronto como tengamos alguna actualización para ti 😊.

Muchas gracias @ Batta32 . Estoy esperando tu respuesta.

Por favor, marque también esto. Durante la exportación, hay una opción "qnaFormat", es un booleano que puse en verdadero para tener un archivo .qna en mi repositorio, pero tengo un error "Argumento inesperado: verdadero".

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

¿Por qué usar eso? Quiero exportar directamente el archivo .qna y no pasar por bf qnamaker: convertir después para convertir json en un archivo QnA.

@edemehmetcan ¿cómo estás ejecutando el comando bf qnamaker:kb:export con el argumento --qnaFormat ?
Debe ejecutarse de la siguiente manera:

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

Vea este ejemplo de las pruebas unitarias del repositorio botframework-cli .

He intentado exportarlo así y ahora funciona, ¿es correcta la sintaxis?

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

¡Sí! Esa sintaxis también es correcta .

Revisaremos el problema de los caracteres especiales ahora, y tan pronto como tengamos alguna actualización para ti, volveremos a este hilo 😊.

¡Super gracias!

Cuando intento sin "Out-File", la exportación es correcta (en la Terminal) con los caracteres correctos. Una vez que se exporta a un archivo ... Los caracteres vuelven a cambiar de forma extraña ...

Gracias @edemehmetcan por enviar esto. ¿Podría confirmar si este es el mismo problema que en este ?
Y si es así, este RP debería arreglarlo

He actualizado el botframework-cli y se ha lanzado el mismo script en Azure DevOps (paso de la CLI de Azure), los caracteres todavía se cambian ... @axelsrz @ Batta32

Después de revisar el archivo, es mejor que antes. Ahora, solo tengo el problema con "é" e "ï"

@axelsrz : ¿deberíamos transferir este problema al repositorio botframework-cli ? Como parece ser un problema relacionado con la herramienta bf-cli ( bf qnamaker:kb:export específicamente)

@ Batta32 Incluso si ejecuto qnamaker: kb : exportar localmente con powershell. Todavía tengo el tema de los personajes. Esto no es algo relacionado con la CLI de Azure, diría ...

@edemehmetcan : parece no estar relacionado con la CLI de Azure, pero probablemente relacionado con botframework-cli, que es la interfaz utilizada para administrar los bots de Bot Framework y los servicios relacionados (consulte el repositorio botframework-cli ), esta CLI contiene el bf qna:maker:kb:export comando que estás usando 😊.

Hola @edemehmetcan ,

¿Puedes intentar cambiar tu configuración de PS para usar UTF? Vea un enlace relevante a continuación.
https://stackoverflow.com/questions/40098771/changing-powershells-default-output-encoding-to-utf-8

Hola @hcyang gracias por tu respuesta. El PowerShell está usando UTF8.

He notado algo, después de exportar el qna y abrirlo en Notepad ++, la codificación es "UCS 2 le BOM" que es muy extraño ...

Y es muy molesto no tener como " luis: export " una propiedad --out for qnamaker: export ...

Saludos

Hola amigos, hice algunas investigaciones y esto parece no estar relacionado con el bf-cli. Está más relacionado con el problema del formato de codificación de salida de PowerShell. Utilizo el cmd para llamar al comando de exportación anterior y la salida devuelve un resultado normal para caracteres especiales, pero cuando uso powershell para llamar al mismo comando, la salida devuelve un resultado no detectado. Entonces, este problema solo le ocurre a PowerShell con Out-File configurado. Intenté algunas formas de configurar la codificación predeterminada en UTF en powershell, pero parece que no funciona. Este es el mismo problema con el que https://github.com/microsoft/botframework-cli/issues/1057 @axelsrz señaló anteriormente.

Como sugirió @edemehmetcan , la solución opcional es agregar --out para el comando de exportación kb para que no dependa de Out-File o >> o > para los archivos de salida

Agregue @munozemilio para obtener más información.

Creó un PR en cli https://github.com/microsoft/botframework-cli/pull/1065 para admitir la salida de contenido qna exportado a un archivo con la opción --out. Con estos cambios en, los usuarios pueden usar --out para especificar la ruta del archivo de salida. Probado que funciona para powershell.

@ feich-ms Gracias por tu respuesta. ¡Es lo que estaba buscando! Estoy esperando que se fusione el PR y lo intentaré.

@munozemilio , ¿puedes opinar sobre @ feich-ms PR?

Hola, lo intenté después de actualizar botframework-cli a la versión 4.11.1

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

Tengo este error: ".Argumentos inesperados: --out"

Hola @edemehmetcan , [email protected] fue lanzado hace 8 días y no contiene el PR microsoft / botframework-cli # 1065 ya que se fusionó hace 3 días.

Esos cambios se integrarán en la próxima versión de la herramienta botframework-cli 😊.

Hola @ Batta32 , es en lo que he pensado. Gracias por la aclaración. ¿Cuándo se programará el próximo lanzamiento? :)

@munozemilio & @ feich-ms: ¿hay alguna ETA para la nueva versión de la herramienta botframework-cli?

¿una actualización? @munozemilio & @ feich-ms @ Batta32

@edemehmetcan lo siento por la respuesta tardía, que yo sepa, el próximo lanzamiento no será demasiado pronto. Para desbloquearlo, puede instalar la última versión de compilación nocturna que ya contiene la solución. Simplemente use npm install -g @ microsoft / botframework-cli @ next . Instalará el último 4.12.0-dev.20201208.3315f42. Gracias.

@ feich-ms muchas gracias, funciona con la próxima versión :) esperando el lanzamiento real entonces ...

@ feich-ms @ Batta32 ¿ Cuándo estará disponible la próxima versión?

Hola @edemehmetcan , perdón por la respuesta tardía. Hasta donde yo sé, el próximo lanzamiento será a mediados del 2/12 de febrero es nuestro día de finalización del código y podemos presionar el lanzamiento una semana después de eso.

¿Fue útil esta página
0 / 5 - 0 calificaciones