Hey MYCROFT! AI para todos

Buenas, hoy no estoy aquí para hablaros de seguridad...¿o si? no se... hoy me quiero hacer eco de uno de los proyectos que más me ha entusiasmado últimamente.

Cuando era pequeño siempre soñé con tener un "harvis" en casa, como Iron-man, y mi pregunta es ¿a quién no le gustaría?

Poco a poco nos estamos acercando a ese punto, con plataformas como Aura de Telefónica o asistentes personales como Cortana de Microsoft o Siri de Apple que nos brindan una manera más natural de comunicarnos con nuestro software.

La verdad es que mola que las grandes compañías dispongan de estos avances tecnológicos que pueden "ayudarnos" en nuestro día a día....

Pero qué hay de nosotros los desarrolladores independientes, geeks, hackers, frikis, etc., personas que no sólo nos conformamos con utilizar las cosas, sino que tenemos esa necesidad intrínseca de entenderlas y desmenuzarlas. Bueno, es aquí cuando yo ilumino con sabiduría y suena un ¡¡¡TACHÁN!!! Creemos que el futuro de la IA debe ser abierto, no una caja negra críptica que sólo unos pocos entienden. Mycroft nos brinda la oportunidad de muy buen grado.

¿Qué es Mycroft?

AI PARA TODOS

Mycroft es el primer asistente de voz de código abierto del mundo. Se puede ejecutar en cualquier lugar - en una computadora de escritorio, dentro de un automóvil, incluso se ejecuta en una raspberry pi. Está abierto para que pueda ser remixado, ampliado, mejorado. Se puede utilizar en cualquier cosa, desde un proyecto científico hasta una aplicación de software empresarial.

Actualmente lo estoy utilizando en un par de proyectos personales: domotizando mi casa con Mycroft, y en un pequeñito autómata de compañía con la versión Picroft... y pronto publicaré algo.

Mycroft Core es el módulo principal que compone la plataforma Mycroft Intelligence Artificial. Mycroft hace uso del Adapt Intent Parser, del software Speech-to-Text y del Text-to-Speech. La idea detrás de la plataforma es poder habilitar la voz de cualquier dispositivo y convertirlo en un asistente personal inteligente, capaz de realizar una variedad de tareas. Mycroft se utiliza a menudo para referirse al producto de hardware producido por Mycroft AI, Inc. - para evitar confusión a partir de ahora hablaremos de  "Mycroft Core".


Instalación

Y bueno, para ir abriendo boca vamos a instalar en nuestro sistema la versión de desarrollo de Mycroft-core que, por el momento, sólo podemos instalar en sistemas linux.


1-Lo primero como siempre es bajarnos el software desde su repositorio o clonarlo en nuestro sistema de archivos mediante la herramienta git:

git clone https://github.com/MycroftAI/mycroft-core.git

2-Si lo hemos descargado, lo descomprimiremos en nuestro directorio preferido.

3-Seguiremos con los siguientes comandos desde nuestra consola:

cd mycroft-core
./build_host_setup_debian.sh
./dev_setup.sh

Según de que distribución gocemos será necesario o no compilar mimic. Si es el caso, para ésto entraremos a la carpeta de minic y compilaremos.

cd mimic
./configure
make
make install

A continuación y para comenzar la "cháchara" con Mycroft:

./mycroft.sh start

La conversación deberemos tenerla por ahora en inglés y digo que por ahora por que se está trabajando mucho y muy duro para que Mycroft-core hable castellano y catalán entre otras lenguas.

Desde aquí (y poniéndome serio) hago un llamamiento a esa legión de programadores altruistas que quieran echar una mano en el proyecto de Mimic y por extensión a Mycroft.

Tras hablar con Åke Forslund (uno de los colaboradores de Mycroft y Mimic) me hago eco de las siguientes palabras:

"Mycroft se basa en un sistema de habilidades, donde una persona puede crear y compartir sus habilidades libremente. Estas habilidades necesitan tener apoyo para que el idioma castellano funcione plenamente. En el futuro no tan lejano imagino que habrá una gran necesidad de contribuyentes con el castellano y otros tipos de habilidades españolas para traducir el diálogo y palabras clave cuando TTS apoya el lenguaje. El equipo de mímic es muy pequeño y cualquier ayuda es apreciada."

Bueno tras tener instalado el software debemos parear el sofware con la web de Mycroft para lo que nos abriremos cuenta en https://home.mycroft.ai e iremos a 'add device'


Arrancaremos nuestros servicios mycrof:

mycroft-core-dev$ ./mycroft.sh start

No está de más hacer un screen del servicio voice para ir viendo que nos va diciendo Mycroft:

mycroft-core-dev$ screen -r mycroft-voice

y le diremos a Mycroft:

  “Mycroft, let's pair my device.”

y el nos deletreará el código de pareo.

Tras ésto, ¿por dónde podemos seguir?

Mycroft cuenta con unas habilidades que van desde crear una alarma, poner un audio, decirnos las noticias, buscar un término en la wikipedia....un largo etc. así que os recomiendo consultar Mycroft skills.

¿Y dónde está lo verdaderamente interesante? podemos enseñarle hacer lo que queramos...sólo nuestra imaginacion es el límite... hacer un MITM, escanear un rango ip, ... puff hay tantas cosas por hacer con Mycroft....

Pero supongo que será en proximos post...

12 comentarios :

  1. Me hizo ilusión hasta la parte de parearlo con el servicio de la web de Mycroft.
    No encuentro código fuente de ningún servidor, sólo de cliente (mycroft-core), así que creo que se les llena mucho la boca con el "open source", porque no puedo correrlo en un servidor privado en mi casa.

    ResponderEliminar
    Respuestas
    1. +1 estoy muy de acuerdo contigo en que da un poco de grima lo de tener que parearlo con un servidor de ellos. Y, si, lo único accesible es el cliente :-(
      No obstante, me parece una propuesta interesante y le daré una oportunidad, al menos para ver qué es capaz de hacer y si le puedo sacar utilidad.

      Eliminar
    2. Estuve viendo Youtubadas varias y el hardware de Mycroft es una Raspberry Pi 2 (La vieja). También hay que decir que ver las demos es morder el anzuelo, porque parece divertidísimo y parece que da muchísimo juego. Habría que echarle un ojo a las 'skills' y a cómo crear una nueva.
      Creo que al final acabaré subiéndome al carro e instalándoselo a la RPi.

      Eliminar
    3. Este comentario ha sido eliminado por el autor.

      Eliminar
    4. Por lo que he entendido no tienes porque parearlo con su servidor, solo es necesario para obtener las diferentes "habilidades" (como el Speech-to-Text y el tiempo...) pero puedes utilizar APIs de otros servicios: https://github.com/MycroftAI/mycroft-core#using-mycroft-without-home

      Lo que no me queda muy claro es si, sin esas "habilidades", el software queda inservible, o puede funcionar aunque sea de una forma más "básica". Tendré que probarlo para descubrirlo... ��

      Eliminar
    5. Oh, eso ya me parece la hostia. Quizá debería meterle mano ya y dejar de esperar.
      Hoy se me ocurrió montarlo en RPi3 para hacer un perfil de mis amigos (El WiFi del móvil, el BT...) para que MyCroft nos avise de quién nos está tocando el timbre, así que habrá que remangarse.

      Eliminar
    6. Aleix, tienes razón. Se puede usar sin hacer pairing con ellos, basta con desarrollar las skills que queremos proporcionar a Mycroft . Eso ya me va gustando más ... ;-)

      Eliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Muchos comentarios borrados, no se si por su falta de respeto o por su verdad, espero que sea la primera, yo creo que esto puede tener mucho futuro al final tendremos un robot con batman o algo parecido, vamos lo tipico que sale en todas las peliculas.. ojala que sea cierto todo lo nombrado en el articulo, voy a probarlo.

    ResponderEliminar
    Respuestas
    1. Mis comentarios que salen borrados los borré yo mismo porque estaba intentando poner un "emoji" pero no se parseaba bien. Creo que es porque hay un bug con la Vista previa del sistema de comentarios de Blogger..

      Eliminar
    2. el mio lo borre yo, pues ya se contestaron loos compañeros...
      un saludo....aqui solo puede borrar los comentarios el autor de estos....sean buenos o malos con el post.
      un saludo

      Eliminar