Uso de LLM em Sistemas PBX Asterisk para Triagem em Serviços de Emergência
Sobre o trabalho:
O meu Trabalho de Conclusão de Curso é sobre a utilização de Large Language Models (LLMs) para triagem de emergências, em específico de ligações telefônicas para emergência, como o uso do tridigíto 190/192/193, que hoje são separados e enviam para setores diferentes mas no ambiente do trabalho são unificados sob o único número 190.
O ambiente de testes é feito com base no servidor em nuvem, hospedado pela Oracle Cloud, no qual apresenta telefonia gerenciada pela aplicação PBX open source Asterisk. A ligação é processada pelo plano de discagem que integra scripts de Speech-To-Text e APIs de LLM para processar a entrada e direcionar a ligação para o setor responsável. Todos os pontos são armazenados em um banco de dados relacional local por meio da aplicação PosgreSQL.
Changelog
-
v1.00 (10/10/2025)
- Implementado sistema de Retrieval-Augmented Generation (RAG) na alimentação de instruções ao prompt da LLM.
- Foram criadas diversas novas tabelas no banco de dados para armazenamento e relação entre os dados da ligação.
- A tabela RAG_Database armazena os textos e regras em vetores de 384 dimensões.
- O script da LLM agora faz a conversão em vetor, comparação por Distância Cosseno e inserção dos textos e vetores no banco.
- Foram feitos ajustes em todos os áudios no fluxo de chamadas para melhor informar o local e guiar os comandos.
- Modificação significativa de todo o plano de discagem.
- A pesquisa agora pergunta para qual setor o usuário deveria ter sido direcionado em caso negativo, e atualiza na database do RAG com o setor correto para evitar novos erros em contextos similares.
- O banco de dados inicial do RAG foi de diversas diretrizes sob as quais a LLM deve se basear para tomar decisão enquanto a base de dados é pequena.
- Alteração total da parte gráfica do site em html para melhor apresentar o objetivo do projeto, guia e ramais disponíveis.
-
v0.80 (30/09/2025)
- Aumento do período que o canal permanece aberto para captação de voz de 10 para 15 segundos.
- Voz começa a ser captada a partir do áudio inicial
- Gravação da ligação para análise futura dos dados coletados.
-
v0.75 (26/09/2025)
- Protótipo Inicial de Triagem para Serviços de Emergência.
- Captação por voz via SST do Google.
- Processamento do texto pelo GPT 4o-mini.
- Direcionamento para o setor especifico dentre Médicos/Bombeiros/Policia.
- Inserção dos dados de atendimento no banco PostgreSQL.
Roadmap:
- Criação de um script STT próprio.
- Reconhecimento de voz durante mais partes do fluxo.
- Reconhecimento de endereços via RAG.
- Reconhecimento de trotes.
- Reconhecimento do estado emotivo da voz.
- Interação total via voz.