Desarrollo últimamente con modelos de idiomas grandes (LLM). Gran parte del enfoque está en la respuesta de la pregunta que puede hacer con modelos puros basados en texto o modelos en idioma de visión (VLMS), donde también puede ingresar imágenes.
Sin embargo, hay otra dimensión que ha evolucionado una tonelada en los últimos años: audio. Modelos que pueden transcribir (habla -> texto), síntesis de discurso (texto -> discurso) y también voz a voz, donde tiene una conversación completa con un modelo de idioma, con audio entrando y saliendo.
En este artículo, discutiré cómo estoy utilizando el desarrollo dentro del espacio del modelo de audio para mi ventaja, convirtiéndome en un programador aún más eficiente.
Motivación
Mi principal motivación para escribir este artículo es que estoy buscando continuamente formas de convertirme en un programador más eficiente. Después de usar la aplicación móvil CHATGPT por un tiempo, descubrí su opción de transcripción (el icono de micrófono a la derecha en el campo de entrada del usuario). Usé la transcripción y rápidamente me di cuenta de cuánto mejor se compara esta transcripción con otras que he usado antes, como la transcripción de iPhone incorporada de Apple.
La transcripción de Openai casi siempre captura todas mis palabras, con muy pocos errores. Incluso si uso palabras menos comunes, por ejemplo, acrónimos relacionados con la informática, todavía puede recoger lo que estoy diciendo.
Esta transcripción solo estaba disponible en la aplicación CHATGPT. Sin embargo, sé que OpenAI tiene un punto final API para su modelo Whisper, que es (presumiblemente) el mismo modelo que están utilizando para transcribir el texto en la aplicación. Por lo tanto, quería configurar este modelo en mi Mac para estar disponible a través de un atajo.
(Sé que hay aplicaciones como Macwhisper Disponible, pero quería desarrollar una solución completamente gratuita, que no sean los costos de la API.
Requisitos previos
- Alfredo (Usaré Alfred en la Mac para activar algunos scripts. Sin embargo, las alternativas a esto también existen. En general, necesita una forma de activar los scripts en su Mac / PC desde una tecla de acceso rápido.
Pros
La principal ventaja de usar esta transcripción es que puede ingresar palabras en su computadora más rápidamente. Cuando escribo lo más rápido que puedo en mi computadora, ni siquiera puedo alcanzar 100 palabras por minuto, y si voy a escribir a esa velocidad, realmente tengo que concentrarme. Sin embargo, la velocidad de conversación promedio está en un mínimo de 110de acuerdo a este artiCLE.
Esto significa que puede ser mucho más efectivo si puede hablar sus palabras con la transcripción, en lugar de escribirlas en el teclado.
Creo que esto es especialmente relevante después del aumento de modelos de idiomas grandes como ChatGPT. Pasó más tiempo solicitando los modelos de idioma, por ejemplo, haciendo preguntas a ChatGPT o solicitando al cursor para implementar una función o arreglar un error. Por lo tanto, el uso del idioma inglés es mucho más frecuente ahora que antes, en comparación con el uso de lenguajes de programación como Python directamente.
Nota: Por supuesto, todavía escribirá mucho código, pero por experiencia, paso mucho más tiempo, lo que provoca el cursor, por ejemplo, con extensas indicaciones en inglés, en cuyo caso, el uso de esta transcripción me ahorra mucho tiempo.
Contras
Sin embargo, también puede haber algunas desventajas para usar la transcripción. Una de las principales es que muchas veces no quieres hablar en voz alta al programar. Es posible que esté sentado en el aeropuerto (como estoy al escribir este artículo), o incluso en su oficina. Cuando estás en estos escenarios, probablemente no quieras molestar a los que te rodean hablando en voz alta. Sin embargo, si está sentado en una oficina en casa, esto naturalmente no es un problema.
Otro lado negativo es que las indicaciones más pequeñas podrían no ser mucho más rápidas. Imagine esto: si solo desea escribir un mensaje de una sola oración, en muchos escenarios será más rápido solo escribir la solicitud a mano. Esto se debe a la demora en comenzar, detener y transcribir audio al texto. Enviar la llamada API lleva un poco de tiempo, y cuanto más corto sea el aviso, mayor fracción del tiempo que tiene que pasar esperando la respuesta.
Cómo implementar
Puedes ver el Código que usé en este artículo en mi GitHub. Sin embargo, también debe agregar teclas de acceso rápido para ejecutar los scripts.
Primero, tienes que:
- Clon el repositorio de GitHub:
git clone https://github.com/EivindKjosbakken/whisper-shortcut.git
- Crear un entorno virtual llamado .venv e instalar los paquetes requeridos:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- Obtenga una llave API de OpenAI. Puedes hacer eso por:
- Yendo al Descripción general de la API de Operaiiniciar sesión/crear un perfil
- Ve a tu perfil y teclas API
- Crea una nueva clave. Recuerde copiar la clave, ya que no podrá volver a verla
Los scripts del repositorio de GitHub funcionan por:
- start_recording.sh – Comienza a grabar tu voz. La primera vez que use esto, le pedirá permiso para usar el micrófono
- stop_recording.sh – Envía una señal de parada al script para dejar de grabar. Luego envía el audio grabado a OpenAI para la transcripción. Además, agrega el texto transcrito a su portapapeles y pasea el texto si tiene un campo de texto en su PC seleccionado
Todo el repositorio está disponible con una licencia MIT.
Alfredo
Puede encontrar el flujo de trabajo Alfred en el repositorio de GitHub aquí: Transcribe.alfredworkflow.
Así es como configuré el flujo de trabajo Alfred:
Simplemente puede descargarlo y agregarlo a su Alfred.
Además, recuerde tener una ventana de terminal abierta siempre que desee ejecutar este script, ya que activa el script de Python desde el terminal. Tenía que hacerlo de esta manera porque si el script se activaba directamente desde Alfred, obtuve problemas de permiso. La primera vez que ejecuta el script, se le debe pedir que le dé acceso a su terminal al micrófono, que debe aprobar.
Costo
Una consideración importante cuando se usa API como Operai Whisper es el costo del uso de la API. Consideraría el costo de usar el modelo Whisper de OpenAI moderadamente alto. Como siempre, el costo depende totalmente de cuánto usa el modelo. Diría que uso el modelo hasta 25 veces al día, hasta 150 palabras, y el costo es de menos de 1 dólar por día.
Esto significa, sin embargo, que si usa mucho el modelo, puede ver costos de hasta 30 dólares por mes, lo cual definitivamente es un costo sustancial. Sin embargo, creo que es importante tomar nota de los ahorros de tiempo que tiene del modelo. Si cada uso del modelo le ahorra 30 segundos, y lo usa 20 veces al día, acaba de ahorrar diez minutos de su día. Personalmente, estoy dispuesto a pagar un dólar para ahorrar diez minutos de mi día, realizando una tarea (escribiendo en mi teclado), eso realmente no me otorga ningún otro beneficio. Si corresponde, usar su teclado puede contribuir a un mayor riesgo de lesiones, como el síndrome del túnel carpiano. El uso del modelo definitivamente vale la pena para mí.
Conclusión
En este artículo, comencé discutiendo los inmensos avances dentro de los modelos de idiomas en los últimos años. Esto nos ha ayudado a crear poderosos chatbots, ahorrándonos enormes cantidades de tiempo. Sin embargo, con los avances de los modelos de idiomas, también hemos visto avances en modelos de voz. La transcripción que usa Operai Whisper ahora es casi perfecta (desde la experiencia personal), lo que la convierte en una herramienta poderosa que puede usar para ingresar palabras en su computadora de manera más efectiva. Discutí los pros y los contras de usar Operai Whisper en su PC, y también fui paso a paso a través de cómo puede implementarlo en su propia computadora.