Pipeline de transcricao e segmentacao IndexBR
  • Python 93.9%
  • Shell 6.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-24 02:08:45 +02:00
migrations feat(segmentation): send canonical broadcast identities 2026-07-22 21:41:50 -03:00
services refactor: consolidate shared transcription client 2026-07-19 21:07:45 +02:00
.env.example feat(segmentation): send canonical broadcast identities 2026-07-22 21:41:50 -03:00
.gitignore refactor: consolidate shared transcription client 2026-07-19 21:07:45 +02:00
check_status.py chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
cleanup_temp_media.sh chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
config.py feat(segmentation): send canonical broadcast identities 2026-07-22 21:41:50 -03:00
create_tables.sql versão preparada para aerun 2023-05-20 13:31:54 -03:00
emergency_reset_queue.sh chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
events-server.py Skip events without media paths 2026-07-20 03:03:36 +02:00
get_transcriptions.py refactor: consolidate shared transcription client 2026-07-19 21:07:45 +02:00
metrics.py chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
opensearch_logger.py chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
programacao.aerun.com.br.conf antes de implementar tratamentos de erro 2025-04-10 22:07:20 -03:00
README.md refactor: consolidate shared transcription client 2026-07-19 21:07:45 +02:00
requirements.txt feat: URL-based pipeline with production endpoint, observability, and hybrid node deployment 2026-06-27 06:14:59 -03:00
reset_queue.py chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
reset_stuck_queue.sh chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00
send_files.py fix(producer): timezone media timestamps 2026-07-24 02:08:45 +02:00
server_process.py versão preparada para aerun 2023-05-20 13:31:54 -03:00
teste.md versão preparada para aerun 2023-05-20 13:31:54 -03:00
teste_post.py versao funciona mas duplicando transcrições 2021-08-05 11:21:54 -03:00
tracing.py chore: add remaining pipeline files (observability, cleanup, atomic transcription) 2026-06-27 06:15:22 -03:00

Transcrição Segmentação

Cliente comum usado por cifila e mdcfila para enviar mídia à API de transcrição/segmentação e devolver transcrições ao sistema de origem.

O mesmo commit deve ser implantado nos dois ambientes. Diferenças entre os hosts ficam exclusivamente no arquivo .env, na quantidade de instâncias systemd e nos nomes dos servidores passados a events-server.py.

Processos

  • events-server.py <server>: identifica arquivos dos programas e insere a fila local.
  • send_files.py: envia URLs públicas para /v1/segmentation/receive_url_file_program.
  • get_transcriptions.py: recebe transcrições e atualiza/entrega os dados no ambiente local.

get_transcriptions.py não confirma status na API Beta. O próprio endpoint get_transcriptions move arquivos com program_id > 0 para queue_segmentation, permitindo que o nó de segmentação os processe.

Configuração

Copie .env.example para .env e preencha os valores do ambiente. Nunca versione .env. As diferenças esperadas incluem OWNER_ID, diretórios, servidor público de arquivos, proxy, credenciais e quantidade de workers.

O proxy é opcional e configurado por HTTP_PROXY_URL. Uploads MP4 podem usar um timeout separado através de MP4_REQUEST_TIMEOUT.

Serviços

Os templates em services/ assumem uma virtualenv em /opt/transcricao-segmentacao/venv:

systemctl enable --now transcricao-events-server@NOME.service
systemctl enable --now transcricao-get-transcriptions@1.service
systemctl enable --now transcricao-send-files.service

Crie quantas instâncias de get-transcriptions forem necessárias em cada host. O código e o commit implantado devem permanecer iguais.

Validação

python -m py_compile config.py events-server.py get_transcriptions.py send_files.py
rg "update_transcription_status" .
git status --short