Mycroft-core: Prueba de fuente de habilidad de Kampff nula

Creado en 2 oct. 2020  ·  6Comentarios  ·  Fuente: MycroftAI/mycroft-core

La verificación real de la fuente de habilidades no se implementa debido a una discusión en curso (al menos fue cuando se implementaron), lo que determina el formato del nombre de la habilidad.

skill-id es lo que se informa en los metadatos de Speak, pero no es muy amigable para escribir los archivos de comportamiento. Así que se necesita algún tipo de traducción id de habilidad -> nombre bonito. Agregaré un problema que refleje esto.

Búsqueda sugerida:

  • nombre de la habilidad, tomado del campo de metadatos de voz
  • bonita tabla de nombres, que permite el uso de nombres que se muestran en la página de habilidades. Una tabla personalizada que traduce nombres conocidos a nombres bonitos, esto se puede generar a partir de metadatos de habilidades, pero no existirá para habilidades no enviadas ... ¿posiblemente para estas se pueda generar desde el archivo Léame?
  • nombres de carpetas de habilidades
For discussion Enhancement - proposed help wanted

Todos 6 comentarios

@forslund Solo para entender, ¿qué quieres decir con "nombre bonito" y con "id de habilidad"?
¿Puedes darme un ejemplo real?
Quiero estar seguro de que te estoy siguiendo.

Me equivoqué sobre la identificación de la habilidad. El sistema usa self.name como habilidad que se puede proporcionar explícitamente a la habilidad o usa el nombre de la clase de habilidad como nombre.

"Bonito nombre" es algo así como "Mycroft Weather" o "The weather skill", algo que funciona bien en texto natural. El "nombre bonito" que usa el meta de habilidades es el nombre de habilidad que se muestra en la página de habilidades de home.mycroft.ai.

@krisgesling , @chrisveilleux , @dschweppe pueden tener opiniones sobre lo que es un "nombre bonito" y la implementación también.

Ah, OK.
Soy nuevo y entiendo cómo funciona mycroft día a día, pero no vi nada en los metadatos sobre id de habilidad, por esto pregunté.

En mi opinión, es mejor y más útil usar el nombre de la habilidad ( self.name ) en la prueba.
Si escribo una habilidad, tengo que saberla y también es más simple recordar el nombre de la clase de mi habilidad ( self.name )
Usar otro nombre para referirse a la misma habilidad, el bonito nombre como lo llamaste, en mi opinión, podría ser causa de más errores y más confusión.

Se actualizó el problema inicial con la corrección.

Creo que esto ha mejorado ya que eliminamos el campo de nombre de la configuración de habilidades, pero se necesita más trabajo. Por ejemplo, para la habilidad Hola mundo:
self.name => "HelloWorldSkill"
Pantalla de Selene (del título README) => "Hola mundo"
sistema de archivos (del repositorio slug, creo?) => "mycroft-hello-world.mycroftai"

No me sorprendería que en algún otro lugar también se use el nombre de la habilidad de una manera ligeramente diferente. Si podemos reducir esto a los dos primeros, sería bueno. Aunque es posible que deba considerar el caso de que una habilidad no tenga un archivo Léame.

Parte de la idea detrás de las pruebas basadas en el comportamiento es que son legibles por humanos (y se pueden escribir), incluso para quienes no son desarrolladores. Así que personalmente creo que vale la pena apoyar tanto el "nombre bonito" como el "nombre de la clase" ( self.name ) para esto.

De hecho, para hacer que self.name más legible / escribible, la comparación también se puede hacer después de ejecutar el nombre a través de camel_case_split() , HelloWorldSkill -> Hello World Skill.

Agregaré el nombre de la carpeta de habilidades como sugieres a la descripción del problema.

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