Sistema Inteligente de Transcrição, Resumo e Tradução Automática de Áudios para WhatsApp Desenvolvido com Python, FastAPI e Streamlit
Go to file
2024-11-29 16:22:18 -03:00
.venv primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
.dockerignore ignorando docker.composer.yaml 2024-11-29 16:22:18 -03:00
.env_sample primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
.gitignore Adiciona docker-compose.yaml ao .gitignore 2024-11-29 16:20:08 -03:00
.python-version primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
deploy_producao.sh primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
Dockerfile primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
fluxo.png primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
GPT.postman_collection.json primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
main.py alterei texto da transcrição 2024-11-29 15:03:08 -03:00
models.py primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
readme.md Mudanças na forma de adicionar chaves e na orientação de uso 2024-11-29 16:07:38 -03:00
requirements.txt primeira versão transcreve audio 2024-11-29 13:51:10 -03:00
services.py Mudanças na forma de adicionar chaves e na orientação de uso 2024-11-29 16:07:38 -03:00

Conversão Fluxo N8N para Python (FastAPI) com Async

Fluxo N8N para Python

Setup

# Linux ou Mac
virtualenv venv
source ./venv/bin/activate 
pip install -r requirements.txt

 # Windows
python -m venv .venv
source .venv/Scripts/activate
pip install -r requirements.txt

para sair do venv é deactivate

Como Executar localmente

Rode o Comando

uvicorn main:app --host 0.0.0.0 --port 8005

Endpoint de uso para inserir na sua Evolution api como webhook

curl --location 'http://127.0.0.1:8005/transcreve-audios'

Para instalar com Docker Swarm e Traefik use o .yaml abaixo como referencia

version: "3.7"

services:
  transcricaoaudio:
    image: impacteai/transcrevezap:latest
    build: .
    networks:
      - suarededocker #troque pela sua rede do docker
    ports:
      - 8005:8005
    environment:
      Uvicorn_port: 8005
      Uvicorn_host: 0.0.0.0
      Uvicorn_reload: "true"
      Uvicorn_workers: 1
      WHATSAPP_API_KEY: "substitua_sua_chave_aqui"
      WHATSAPP_API_URL: "https://suaevolutionapi.sedominio.com.br/"
      WHATSAPP_INSTANCE: "substitua_sua_instancia_aqui"
      GROQ_API_KEY: "substitua_sua_chave_GROQ_aqui"
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints:
          - node.role == manager
      labels:
        - traefik.enable=true
        - traefik.http.routers.transcricaoaudio.rule=Host(`transcricaoaudio.seudominio.com.br`) #coloque seu subdominio apontado aqui
        - traefik.http.routers.transcricaoaudio.entrypoints=websecure
        - traefik.http.routers.transcricaoaudio.tls.certresolver=letsencryptresolver
        - traefik.http.services.transcricaoaudio.loadbalancer.server.port=8005
        - traefik.http.services.transcricaoaudio.loadbalancer.passHostHeader=true
        - traefik.http.routers.transcricaoaudio.service=transcricaoaudio
        - traefik.http.middlewares.traefik-compress.compress=true
        - traefik.http.routers.transcricaoaudio.middlewares=traefik-compress
      resources:
        limits:
          cpus: "1"
          memory: 1024M

networks:
  suarededocker: #troque pela sua rede do docker
    external: true
    name: suarededocker #troque pela sua rede do docker