将 Annyang 与 Wolfram Alpha 混合, 那是, 向安东尼娅提供情报
井, 这是关于什么的? 特别是你们可能知道我不喜欢 Google Home 或 Alexa 这类设备, 仅仅因为你不能更改它们的名称 (目前), 所以在我这里,我使用 Annyang 来叫它 Antonia,并自定义命令. 但是为什么要加入 Wolfram Alpha?
不错, Wolfram Alpha como muchos conoceréis, es como una herramienta con una gran base de datos de información, 通过 una web le podemos preguntar cualquier pregunta que casi seguro sabrá la respuesta. Desde temas históricos, a resultados deportivos, y por supuesto cálculos matemáticos complejos. Como os decía, el uso habitual es hacerle las consultas vía web y en inglés; tiene posibilidad de usarse mediante API pero es de pago si hacemos más de 2000 每月咨询 (o lo usamos para fines comerciales).
所以, la idea es hacerle consultas a nuestra Antonia, repasar este antiguo post si no tenéis en marcha vuestro propio asistente virtual. Total que, a Antonia la diremos algo como: “安东尼娅, pregunta, ¿Quién es Julio Iglesias?”, y mediante un scriptcillo, 我们走吧 自 (我) recoger todo lo que viene detrás de la palabra ‘pregunta’, (第二) vamos a traducirlo al inglés, (第三) vamos a consultarlo a Wolfram Apha, (四) vamos a recoger la respuesta que nos da, (v) vamos a traducirla del inglés al español y (锯) lo dirá por los altavoces (en mi caso lo mandará a Home Assistant, y este lo reproducirá en los altavoces de casa gracias a 快照). Y todo esto con una respuesta rapidísima, que funciona genial!
不错, en la máquina donde corra nuestro Apache con Annyang crearemos el script que será llamado para hacer la consulta. En mi caso se llama antonia_pregunta.sh
#!/bin/sh echo "$1" | cut -d " " -f2- > /home/hector/wolfram-antonia/1peticion_sin_pregunta.txt Peticion_Sin_Pregunta=`cat /home/hector/wolfram-antonia/1peticion_sin_pregunta.txt` /home/hector/wolfram-antonia/trans :en -brief "$请求_无问题" > /home/hector/wolfram-antonia/1peticion_en.txt TraducePeticion=`cat /home/hector/wolfram-antonia/1peticion_en.txt` curl -s "https://api.wolframalpha.com/v1/result?appid=XXXXXX-XXXXXXXXXX&units=metric&" --data-urlencode "i=$TraducePeticion" > /home/hector/wolfram-antonia/2respuesta.txt TraduceRespuesta=`cat /home/hector/wolfram-antonia/2respuesta.txt` /home/hector/wolfram-antonia/trans :es -brief "$TraduceRespuesta" > /home/hector/wolfram-antonia/2respuesta_es.txt RespuestaES=`cat /home/hector/wolfram-antonia/2respuesta_es.txt` curl -X POST -H "授权: Bearer XXXXXXXXXXXXXXXXXXXX" -H "内容类型: 应用程序/JSON" -d '{"entity_id": "media_player.volumio_mpd", "消息": "'"$RespuestaES"'"}' http://192.168.1.116:8123/api/services/tts/google_say
这个脚本有点粗糙, 但对像我这样的老手完全有效. 我们需要 注册我们的应用 以使用 Wolfram Alpha 的 API (并在脚本中指明它的 ID), y en mi caso también al enviarla a los altavoces de Home Assistant, mediante curl una llamada API para que lo diga Google_Say; 但是,好吧, cada uno que haga como quiera, el script funciona así de fácil: “./antonia_pregunta.sh “pregunta ¿Quien es Julio Iglesias?”. 我说了什么, le quita la primera palabra, lo traduce y nos dará la respuesta, luego ya como quieras lo mandas a tus altavoces 🙂
Pero antes de poder ejecutar el script necesitaremos cumplir un requisito más, ¡necesitamos un traductor! y qué mejor que esta maravilla, mediante este simple script podremos traducir rápidamente entre cualquier idioma (como argumento podríamos usar el idioma destino, 除其他选项外).
wget git.io/trans chmod +x ./trans ./trans :es -brief "Hi there, how are you?"
Y queda listo, en el fichero php de Antonia no olvidaremos añadir que cuando escuche su nombre seguido de la palabra ‘pregunta’, ejecute este script, 住:
... elseif (strpos($valor, 'pregunta') === 0) { exec('/home/hector/bong.sh'); exec('/home/hector/wolfram-antonia/antonia_atenta.sh "'.$valor.'" '); } ...
Quizá es un jaleo, pero no es nada complicado montárselo de verdad, así le dotaremos de más inteligencia a nuestro asistente virtual propio, 或者那个, o usas uno comercial. Que seguro es menos flexible e igual de inseguro 😉
Espero os haya sido de interés, gracias por compartir en las RRSS.






































