API

Tutorial de OpenAI Whisper: Construir una API de Reconocimiento de Voz en Docker

OpenAI Whisper Speech Recognition API diagram for developers

Descubre Whisper: El sistema de reconocimiento de voz premier de OpenAI

Whisper es un sistema innovador de reconocimiento de voz desarrollado por OpenAI, diseñado para revolucionar la forma en que interactuamos con la tecnología usando nuestras voces. Con un conjunto de datos de entrenamiento que comprende 680,000 horas de datos multilingües y multitarea obtenidos de la web, Whisper se destaca por su notable capacidad de adaptarse a varios acentos, ruidos de fondo y jerga técnica.

Características clave de Whisper

  • Soporte multilingüe: Whisper puede transcribir y traducir el lenguaje hablado al inglés, convirtiéndose en una herramienta altamente versátil para usuarios de todo el mundo.
  • Rendimiento robusto: El sistema sobresale en condiciones de audio desafiantes, asegurando alta precisión incluso en entornos ruidosos.
  • Amigable para desarrolladores: OpenAI ofrece acceso a los modelos y el código de Whisper, empoderando a los desarrolladores para crear aplicaciones innovadoras que aprovechen esta avanzada tecnología de reconocimiento de voz.

Cómo empezar con Docker

Si estás considerando ejecutar Whisper en tu máquina local, el primer paso es instalar Docker. Este software te permite crear entornos aislados para tus aplicaciones.

Configurando tu proyecto

  1. Crea una carpeta para tus archivos, nombrándola whisper-api.
  2. Dentro de esta carpeta, crea un archivo llamado requirements.txt y añade flask como dependencia.
  3. Crea otro archivo llamado Dockerfile para configurar tu entorno de Docker.

Construyendo el Dockerfile

Tu Dockerfile debe contener las siguientes instrucciones:

FROM python:3.10-slim
WORKDIR /python-docker
COPY requirements.txt .
RUN apt-get update && apt-get install -y git
RUN pip install -r requirements.txt
RUN pip install git+https://github.com/openai/whisper.git
RUN apt-get install -y ffmpeg
EXPOSE 5000
CMD ["flask", "run"]

Entendiendo el Dockerfile

A continuación, un desglose de lo que hace cada línea:

  • FROM python:3.10-slim: Establece la imagen base para tu contenedor.
  • WORKDIR /python-docker: Crea y establece un directorio de trabajo dentro del contenedor.
  • COPY requirements.txt .: Copia tu archivo de requisitos al entorno de Docker.
  • RUN apt-get update && apt-get install -y git: Actualiza el gestor de paquetes e instala Git para control de versiones.
  • RUN pip install -r requirements.txt: Instala las dependencias listadas en el archivo de requisitos.
  • RUN pip install git+https://github.com/openai/whisper.git: Instala el paquete Whisper directamente desde GitHub.
  • RUN apt-get install -y ffmpeg: Instala FFmpeg, un potente marco multimedia para procesar archivos de audio y video.
  • EXPOSE 5000: Expone el puerto 5000 para acceder al servidor Flask.
  • CMD ["flask", "run"]: Inicia la aplicación Flask cuando se ejecute el contenedor.

Creando tu ruta API

Luego, crea un archivo llamado app.py donde importarás los paquetes necesarios e inicializarás tanto la aplicación Flask como Whisper:

from flask import Flask, request
import whisper

app = Flask(__name__)
model = whisper.load_model("base")

Luego, crea una ruta para aceptar solicitudes POST con un archivo de audio:

@app.route('/whisper', methods=['POST'])
def transcribe():
    file = request.files['file']
    audio = whisper.load_audio(file)
    result = model.transcribe(audio)
    return {'transcript': result['text']}

Ejecutando el contenedor Docker

Para construir y ejecutar tu contenedor, abre una terminal y navega hasta tu carpeta de proyecto. Ejecuta los siguientes comandos:

# Construir el contenedor
$ docker build -t whisper-api .
# Ejecutar el contenedor
$ docker run -p 5000:5000 whisper-api

Probando tu API

Puedes probar la API enviando una solicitud POST a http://localhost:5000/whisper con un archivo en ella. Asegúrate de que el cuerpo de la solicitud sea form-data. Usa este comando curl para probar:

curl -X POST -F "file=@path_to_your_file" http://localhost:5000/whisper

Si todo está configurado correctamente, deberías recibir una respuesta JSON que contiene la transcripción del archivo de audio.

Desplegando la API

Esta API puede ser desplegada en cualquier plataforma que soporte Docker. Recuerda, la configuración actual utiliza CPU para procesar archivos de audio. Para aprovechar una GPU, necesitarás ajustar tu Dockerfile para compartir los recursos de la GPU. Para más detalles sobre esto, consulta la documentación oficial de NVIDIA.

Participa en las próximas hackathons de IA

¿Qué mejor manera de utilizar tus nuevas habilidades que uniéndote a una hackathon de IA? ¡Interactúa con la comunidad y explora aplicaciones reales de las tecnologías que estás aprendiendo!

Explora el código completo

Puedes encontrar el repositorio de código completo aquí.

Puede que te interese

Illustration of a person using AI tools for SEO strategy
Infographic on prompt engineering for AI image generation using Craiyon.

Dejar un comentario

Todos los comentarios se revisan antes de su publicación.

Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.