La guía más sencilla para crear su propio juguete LLM en 2024
2024 está aquí y ¿juguetes DIY LLM? Totalmente una cosa ahora. No se necesita magia tecnológica, sólo tu curiosidad. Di el paso, mezclé un poco de codificación con mucha diversión y, ¡bam!, creé mi propio juguete parlante. Si estás dispuesto a crear un compañero de IA con facilidad, estás en el lugar correcto. Desmitifiquemos juntos la tecnología y demos vida a tu amigo AI. En un mundo donde la tecnología se cruza cada vez más con la vida diaria, crear su propio juguete LLM no solo desmitifica la IA sino que también proporciona una puerta de entrada personalizada a las maravillas de la tecnología interactiva.
Primero echemos un vistazo al efecto final.
Sinceramente, es bastante impresionante. ¿Listo para empezar? ¡Vamos a sumergirnos!
¿Como funciona?
Hay tres pasos clave:
- Grabación: reciba datos de grabación en tiempo real enviados por el juguete a través de UDP y llame a la API STT (Sound-To-Text) para convertir el sonido en texto.
- Pensamiento: Después de recibir el texto anterior, se llamará inmediatamente a la API LLM (Large-Language-Model) para obtener oraciones generadas por el LLM en forma de transmisión. Luego, se llama a la API TTS (Text-To-Sound) para convertir las oraciones en habla humana.
- Reproducir audio: los juguetes recibirán secuencias de archivos de audio TTS (texto a sonido) generados por el servidor FoloToy y los reproducirán según el orden.
Preparación antes del desarrollo
Antes de comenzar a fabricar su juguete LLM, es fundamental comprender el hardware, el software y los conocimientos técnicos necesarios. Esta sección lo guiará en la preparación de todos los elementos esenciales para garantizar un comienzo sin problemas.
Hardware
Folotoy Core: La placa central de conversación de voz ChatGPT AI sirve como el cerebro de su proyecto, permitiendo interacciones de voz con AI.
Componentes del juguete: Se necesitan elementos esenciales como un micrófono, un altavoz, botones, interruptores y una fuente de alimentación. Me quedo con el Alilo Honey Bunny G6 por su configuración lista para usar.
Octopus Dev Suit (Otra elección): Ideal para aquellos que buscan modernizar juguetes existentes con capacidades de IA.
Al realizar una compra, proporcione mi código de promoción F-001–9 para recibir un descuento.
Servidor
Utilizar su propia máquina, como una MacBook Pro, garantiza que su juguete tenga un servidor confiable para procesar y responder a las interacciones de voz. Alternativamente, los servicios en la nube como Google Cloud Engine (GCE) pueden escalar su proyecto para aplicaciones más amplias.
Conocimiento
- Docker (obligatorio): comprender Docker es fundamental para implementar software en contenedores, lo que hace que su proyecto sea portátil y escalable. Lo uso para iniciar el servidor Folo.
- Git (obligatorio): el control de versiones es esencial para administrar la base de código de su proyecto. Lo uso para administrar el código base del servidor Folo.
- MQTT (opcional): si busca una personalización avanzada, la familiaridad con MQTT (un protocolo de mensajería liviano) será beneficiosa para la comunicación entre el juguete y el servidor.
- EMQX (opcional): corredor MQTT de código abierto para IoT, IIoT y vehículos conectados. Se utiliza para gestionar tus juguetes.
- ollama (opcional): si desea ejecutar modelos de lenguaje grandes localmente, es una buena elección.
Servicios y registro
Para que tu juguete cobre vida, necesitarás acceso a servicios de inteligencia artificial específicos. Para este proyecto, elegí utilizar las ofertas de OpenAI:
- TTS (Text-to-Speech): el servicio Whisper de OpenAI convierte las respuestas de texto de la IA en voz, lo que hace que la interacción sea natural.
- LLM (modelo de lenguaje grande): utilización de modelos de OpenAI para comprender y generar respuestas de texto similares a las humanas.
- STT (Voz a texto): el servicio TTS de OpenAI transcribe palabras habladas en texto, lo que permite a la IA comprender consultas o comandos de voz.
Lo más importante es que debe registrarse en la plataforma OpenAI y crear una clave, como sk-...i7TL.
Arma tu juguete
Ahora es el momento de juntar todas las piezas y hacer tu propio juguete LLM.
Los pasos generales son los siguientes, se recomienda ver el video tutorial primero.
- Compruebe si la grabación y reproducción de Alilo G6 son normales.
- Utilice un destornillador para desatornillar los 6 tornillos de la parte posterior de Alilo G6.
- Abra con cuidado la carcasa de Alilo G6, desconecte todos los enchufes de la placa base, primero desconecte el enchufe de alimentación, hay pegamento en el enchufe, puede usar un cuchillo para cortarlo suavemente y abrirlo, asegúrese de no cortarse la mano.
- Desatornille los 4 tornillos de la placa base y retírela.
- Reemplace la placa base original con la placa base de FoloToy y apriete 3 tornillos para fijarla.
- Conecte el micrófono, la luz, el altavoz y las tomas de corriente, finalmente conecte la toma de corriente.
- Después de enchufar todos los enchufes, no cierre la carcasa ni instale tornillos todavía. Primero encienda el interruptor de encendido/apagado en la cola del conejo para ver si la luz recién instalada puede encenderse y parpadear lentamente en color azul.
- Si no hay ningún problema, instale la carcasa y apriete los tornillos para completar el proceso de reemplazo.
Configurar el servidor
Un sólido soporte de backend es clave para que sus juguetes LLM comprendan y respondan a los comandos de voz. Esta sección le enseñará cómo clonar la base del código del servidor, configurar el servidor e iniciar contenedores Docker para garantizar que sus juguetes tengan soporte de backend estable.
Primero clone el código base del servidor Folo desde GitHub.
git clone [email protected]:FoloToy/folotoy-server-self-hosting.git
Luego cambie la configuración del servidor base en el archivo docker-compose.yml
por la suya.
Nombre | Descripción | Ejemplo |
---|---|---|
OPENAI_OPENAI_KEY | Su clave API de OpenAI. | sk-...i7TL |
OPENAI_TTS_KEY | Su clave API de OpenAI. | sk-...i7TL |
OPENAI_WHISPER_KEY | Su clave API de OpenAI. | sk-...i7TL |
AUDIO_DOWNLOAD_URL | La URL del archivo de audio. | http://192.168.xx:8082 |
SPEECH_UDP_SERVER_HOST | La dirección IP de su servidor. | 192.168.xx |
Luego configure sus roles en el archivo config/roles.json
, aquí hay un ejemplo mínimo; para una configuración completa, consulte la documentación de Folotoy .
{
"1": {
"start_text": "Hola, ¿qué puedo hacer por ti?",
"prompt": "You are a helpful assistant."
}
}
Luego inicia los contenedores Docker.
docker compose up -d
Ejecuto el servidor Folo en mi propia máquina, si quieres ejecutarlo en la nube, casi lo mismo. Una cosa a tener en cuenta es que debe exponer los puertos 1883, 8082, 8085, 18083 y 8083 a la red pública.
Para obtener más información, consulte la documentación de Folotoy.
Chatea con tu juguete
Una vez que todo esté listo, es hora de interactuar con tu juguete LLM.
Enciende el interruptor en la parte posterior del juguete para encenderlo. La luz azul parpadeante en los oídos indica que el juguete ha entrado en modo de emparejamiento.
Encienda su teléfono o computadora y seleccione la red inalámbrica "FoloToy-xxxx". Después de un momento, su teléfono o computadora abrirá automáticamente una página de configuración donde podrá establecer a qué red WiFi (SSID y contraseña) conectarse, así como la dirección del servidor (como 192.168.xx) y el número de puerto (mantenga el predeterminado 1883).
Una vez que la red esté configurada y conectada al servidor, presione el botón redondo grande en el medio para iniciar la conversación. Después de que dejes de hablar, FoloToy emitirá un pitido para indicar el final de la grabación.
Los 7 pequeños botones redondos alrededor son botones de cambio de roles. Después de hacer clic, el cambio de rol surte efecto.
Depuración
Ya sea un servidor o un juguete, es posible que encuentre algunos problemas técnicos. Esta sección proporcionará algunos consejos y herramientas de depuración básicos para ayudarle a diagnosticar y resolver posibles problemas y garantizar que sus juguetes LLM puedan funcionar sin problemas.
Depuración del servidor
Para verificar los registros del servidor, ejecute el siguiente comando.
docker compose logs -f
LOG_LEVEL se puede configurar en el archivo docker-compose.yml
para controlar el nivel de registro.
Depuración de juguetes
Folo Toy proporciona una forma sencilla de depurar la base del juguete en el puerto serie USB. Puede utilizar la Herramienta web Folo Toy para depurar el juguete.
- Conecte el juguete a su computadora mediante un cable USB.
- Abra la herramienta web Folo Toy y luego haga clic en el botón "Consola" para conectarse al juguete.
- Una vez conectado, debería poder ver los registros en tiempo real desde su dispositivo en la consola.
También hay un LED en el juguete, se iluminará en diferentes colores para indicar el estado del juguete .