Skip to content

SantiMA10/resumico

Repository files navigation

🧰 Requisitos - 🛠️ Configuración - 🚀 Despliegue - ⚖️ Licencia - 🌍 English

Un bot de WhatsApp que te permite transcribir y resumir audios.

Note También te puedes apuntar a la lista de espera para la alpha.

Requisitos

Para hacer funcionar el bot necesitaras:

  • nodejs >= 16
  • API token para enviar mensajes en WhatsApp.
  • API token para GPT-3 de OpenAI.
  • (opcional) Si quieres usar "Google Cloud Speech to Text":
    • Un bucket de Google Cloud Storage para subir los ficheros.
    • ffmpeg instalado para podertransformar los audios a un formato acceptado por el servicio.
  • (opcional) Si quieres usar "whisper" tenerlo instalado y cumplir los requisitos.
  • (opcional) Si quieres usar una cola para evitar saturar el ordenador con las conversiones, una cola en Google Cloud Task.

Configuración

Copia el fichero .env.example a .env o añade como prefieras las siguientes variables de entorno para que sean accesibles.

OPEN_AI_GPT3_TOKEN="" // token de OpenAI

WHATSAPP_TOKEN="" // token para enviar mensajes desde la API de WhatsApp
WHATSAPP_API_VERSION="v15.0"
WHATSAPP_SENDER="" // número de telefono desde el que se van a enviar los mensajes
WHATSAPP_VERIFY_TOKEN="" // token para verificar el webhook durante la configuración

FILE_DOWNLOAD_PATH="/tmp" // lugar donde se descargan los audios de forma temporal

GCLOUD_BUCKET="" // nombre del bucket en Google Cloud
GCLOUD_TASK_QUEUE="" // nombre de la cola en Google Cloud Task
GCLOUD_LOCATION="" // Region en la que se encuenta Google Cloud Task
GCLOUD_TASK_MODE="" // Un valor entre "appengine" (si utilizas AppEngine) o "http" si usas otros servicios
GCLOUD_PROJECT="" // Nombre de tu proyecto de Google Cloud

TASK_URL="" // URL a la que Google Cloud Task tiene que enviar las task. Ejemplo: https://tu-servicio.com/tasks
TASK_SERVICE="" // Un valor entre "google" (si utilizas Google Cloud Tasks) o "http" si no quieres usar nada

SPEECH_TO_TEXT_SERVICE="" // Un valor entre "google" (si usas Google Cloud Speech to Text) o "whisper" (si quieres usar whisper)

WHISPER_MODEL="base" // El modelo de Whisper que quieres usar
WHISPER_LANGUAGE="Spanish" // El lenguaje que quieres transcribir, se puede dejar el blanco para que whisper trate de auto detectarlo

Desplegar

yarn install
yarn build // para transformar TypeScript en JavaScript
yarn start // para arrancar el servidor

Contribuciones

Gracias por pensar en ayudar al proyecto, si encuentras algo que te apetece añadir/mejorar o alguna cosa que no funciona, no dudes en abrir una issue y/o una pull request.

Apoya el proyecto

Si te gusta el proyecto puedes suscribirte a mi canal de Twitch, donde (a veces) hago proyectos como este en directo.

Licencia

Este proyecto se publica bajo licencia: CC-BY-NC-4.0.