adicionado orientação de uso da api na interface

This commit is contained in:
Fábio Cavalcanti 2024-12-12 18:30:26 -03:00
parent bb63c590e4
commit b6e3ea8ec3
4 changed files with 38 additions and 14 deletions

View File

@ -4,7 +4,7 @@ services:
tcaudio: tcaudio:
image: impacteai/transcrevezap:latest image: impacteai/transcrevezap:latest
networks: networks:
- transcrevezap_network - sua_rede_externa # Substitua pelo nome da sua rede externa
ports: ports:
- 8005:8005 # Porta para FastAPI - 8005:8005 # Porta para FastAPI
- 8501:8501 # Porta para Streamlit - 8501:8501 # Porta para Streamlit
@ -13,12 +13,13 @@ services:
- UVICORN_HOST=0.0.0.0 - UVICORN_HOST=0.0.0.0
- UVICORN_RELOAD=true - UVICORN_RELOAD=true
- UVICORN_WORKERS=1 - UVICORN_WORKERS=1
- API_DOMAIN=seu.dominio.com #coloque seu subdominio da API apontado aqui
- DEBUG_MODE=false - DEBUG_MODE=false
- LOG_LEVEL=INFO - LOG_LEVEL=INFO
- MANAGER_USER=seu_usuario_admin - MANAGER_USER=seu_usuario_admin # Defina Usuário do Manager
- MANAGER_PASSWORD=sua_senha_segura - MANAGER_PASSWORD=sua_senha_segura # Defina Senha do Manager
- REDIS_HOST=redis-transcrevezap - REDIS_HOST=redis-transcrevezap
- REDIS_PORT=6380 - REDIS_PORT=6380 # Porta personalizada para o Redis do TranscreveZAP
depends_on: depends_on:
- redis-transcrevezap - redis-transcrevezap
deploy: deploy:
@ -29,7 +30,7 @@ services:
- node.role == manager - node.role == manager
labels: labels:
- traefik.enable=true - traefik.enable=true
- traefik.http.routers.tcaudio.rule=Host(`seu.dominio.com`) - traefik.http.routers.tcaudio.rule=Host(`seu.dominio.com`) #coloque seu subdominio da API apontado aqui
- traefik.http.routers.tcaudio.entrypoints=websecure - traefik.http.routers.tcaudio.entrypoints=websecure
- traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver - traefik.http.routers.tcaudio.tls.certresolver=letsencryptresolver
- traefik.http.services.tcaudio.loadbalancer.server.port=8005 - traefik.http.services.tcaudio.loadbalancer.server.port=8005
@ -38,7 +39,7 @@ services:
- traefik.http.middlewares.traefik-compress.compress=true - traefik.http.middlewares.traefik-compress.compress=true
- traefik.http.routers.tcaudio.middlewares=traefik-compress - traefik.http.routers.tcaudio.middlewares=traefik-compress
# Configuração do Streamlit # Configuração do Streamlit
- traefik.http.routers.tcaudio-manager.rule=Host(`manager.seu.dominio.com`) - traefik.http.routers.tcaudio-manager.rule=Host(`manager.seu.dominio.com`) #coloque seu subdominio do Manager apontado aqui
- traefik.http.routers.tcaudio-manager.entrypoints=websecure - traefik.http.routers.tcaudio-manager.entrypoints=websecure
- traefik.http.routers.tcaudio-manager.tls.certresolver=letsencryptresolver - traefik.http.routers.tcaudio-manager.tls.certresolver=letsencryptresolver
- traefik.http.services.tcaudio-manager.loadbalancer.server.port=8501 - traefik.http.services.tcaudio-manager.loadbalancer.server.port=8501
@ -51,10 +52,10 @@ services:
volumes: volumes:
- redis_transcrevezap_data:/data - redis_transcrevezap_data:/data
networks: networks:
- transcrevezap_network - sua_rede_externa # Substitua pelo nome da sua rede externa
networks: networks:
transcrevezap_network: sua_rede_externa: # Substitua pelo nome da sua rede externa
external: true external: true
name: sua_rede_externa # Substitua pelo nome da sua rede externa name: sua_rede_externa # Substitua pelo nome da sua rede externa

View File

@ -14,7 +14,10 @@ import os
app = FastAPI() app = FastAPI()
storage = StorageHandler() storage = StorageHandler()
@app.on_event("startup")
async def startup_event():
api_domain = os.getenv("API_DOMAIN", "seu.dominio.com")
redis_client.set("API_DOMAIN", api_domain)
# Função para buscar configurações do Redis com fallback para valores padrão # Função para buscar configurações do Redis com fallback para valores padrão
def get_config(key, default=None): def get_config(key, default=None):
try: try:

View File

@ -209,6 +209,24 @@ def show_statistics():
st.plotly_chart(fig, use_container_width=True) st.plotly_chart(fig, use_container_width=True)
else: else:
st.info("Ainda não há dados de processamento disponíveis.") st.info("Ainda não há dados de processamento disponíveis.")
# Adicionar informações sobre o endpoint da API
st.subheader("Endpoint da API")
api_domain = get_from_redis("API_DOMAIN", "seu.dominio.com")
api_endpoint = f"https://{api_domain}/transcreve-audios"
st.code(api_endpoint, language="text")
if st.button(" Instruções de Uso"):
st.info(
"Para utilizar o serviço de transcrição, siga estas etapas:\n\n"
"1. Copie a URL completa acima.\n"
"2. Na configuração de webhook da Evolution API:\n"
" - Cole a URL no campo apropriado.\n"
" - Ative o webhook.\n"
" - Marque as opções 'Webhook Base64' e o Evento 'MESSAGES_UPSERT'.\n\n"
"Isso permitirá que a Evolution API envie as mensagens de áudio para o nosso serviço de transcrição."
)
except Exception as e: except Exception as e:
st.error(f"Erro ao carregar estatísticas: {e}") st.error(f"Erro ao carregar estatísticas: {e}")

View File

@ -1,3 +1,4 @@
# TranscreveZAP 2.0
## Transcrição e Resumo de Áudios no WhatsApp usando Python ## Transcrição e Resumo de Áudios no WhatsApp usando Python
![ImpacteAI](./fluxo.png) ![ImpacteAI](./fluxo.png)
@ -40,6 +41,7 @@ Antes de começar, certifique-se de ter os seguintes requisitos:
environment: environment:
- REDIS_HOST=redis - REDIS_HOST=redis
- REDIS_PORT=6380 - REDIS_PORT=6380
- API_DOMAIN=seu-ip
- MANAGER_USER=admin - MANAGER_USER=admin
- MANAGER_PASSWORD=sua_senha_aqui - MANAGER_PASSWORD=sua_senha_aqui
depends_on: depends_on:
@ -66,11 +68,10 @@ Acesse a interface de gerenciamento em http://seu-ip:8501.
Faça login com as credenciais definidas em MANAGER_USER e MANAGER_PASSWORD. Faça login com as credenciais definidas em MANAGER_USER e MANAGER_PASSWORD.
Na seção "Configurações", defina: Na seção "Configurações", defina:
GROQ_API_KEY: Sua chave da API GROQ 1. GROQ_API_KEY: Sua chave da API GROQ
BUSINESS_MESSAGE: Mensagem de rodapé após transcrição 2. BUSINESS_MESSAGE: Mensagem de rodapé após transcrição
PROCESS_GROUP_MESSAGES: Habilitar processamento de mensagens em grupos 3. PROCESS_GROUP_MESSAGES: Habilitar processamento de mensagens em grupos
PROCESS_SELF_MESSAGES: Habilitar processamento de mensagens próprias 4. PROCESS_SELF_MESSAGES: Habilitar processamento de mensagens próprias
## 🔧 Uso ## 🔧 Uso
Endpoint para Webhook da Evolution API Endpoint para Webhook da Evolution API
@ -143,6 +144,7 @@ services:
- UVICORN_HOST=0.0.0.0 - UVICORN_HOST=0.0.0.0
- UVICORN_RELOAD=true - UVICORN_RELOAD=true
- UVICORN_WORKERS=1 - UVICORN_WORKERS=1
- API_DOMAIN=seu.dominio.com
- DEBUG_MODE=false - DEBUG_MODE=false
- LOG_LEVEL=INFO - LOG_LEVEL=INFO
- MANAGER_USER=seu_usuario_admin - MANAGER_USER=seu_usuario_admin