Los grandes modelos multimodales (LMM) modernos pueden procesar no solo texto sino también diferentes tipos de datos. De hecho, “una imagen vale más que mil palabras” y esta funcionalidad puede ser crucial durante la interacción con el mundo real. En este “proyecto de fin de semana”, usaré un programa gratuito LLaVA (Asistente de lenguaje y visión grande), una cámara y un sintetizador de voz; Crearemos un asistente de inteligencia artificial que pueda ayudar a las personas con discapacidad visual. De la misma manera que en partes anteriores, todos los componentes se ejecutarán completamente fuera de línea y sin ningún costo de nube.
Sin más preámbulos, ¡entremos en ello!
Componentes
En este proyecto, usaré varios componentes:
- A LLaVA modelo, que combina un modelo de lenguaje grande y un codificador visual con la ayuda de una matriz de proyección especial. Esto permite que el modelo comprenda no solo el texto sino también las indicaciones de las imágenes. estaré usando el LlamaCpp biblioteca para ejecutar el modelo (a pesar de su nombre, puede ejecutar no solo modelos LLaMA sino también modelos LLaVA).
- iluminado Biblioteca de Python que nos permite hacer una UI interactiva. Usando la cámara, podemos tomar la imagen y hacerle al LMM diferentes preguntas sobre ella (por ejemplo, podemos pedirle al modelo que describa la imagen).
- A tts (texto a voz) convertirá la respuesta del LMM en voz, para que una persona con discapacidad visual pueda escucharla. Para la conversión de texto, usaré un MMS-TTS (TTS de voz masiva multilingüe) realizado por Facebook.
Como se prometió, todos los componentes enumerados son de uso gratuito, no necesitan ninguna API en la nube y pueden funcionar completamente sin conexión. Desde una perspectiva de hardware, el modelo puede ejecutarse en cualquier computadora portátil o tableta con Windows o Linux (se recomienda una GPU de 8 GB, pero no es obligatoria), y la interfaz de usuario puede funcionar en cualquier navegador, incluso en un teléfono inteligente.
Empecemos.
LLaVA
LLaVA (Large Language-and-Vision Assistant) es un gran modelo multimodal de código abierto que combina un codificador de visión y un LLM para la comprensión visual y del lenguaje. Como se mencionó antes, usaré un LlamaCpp para cargar el modelo. Este…