Skip to content
This repository has been archived by the owner on Aug 27, 2024. It is now read-only.

šŸ§­ Reconnect People - Chatbot that uses Lex V2 as a conversational AI for managing the registration and tracking of missing persons and Rekognition for face comparison.

Notifications You must be signed in to change notification settings

GiovaneIwamoto/reconnect-people

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Ā 

History

6 Commits
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 
Ā 

Repository files navigation

Banner

DESCRIƇƃO DO PROJETO

Esse sistema consiste em uma ferramenta a ser utilizada para o registro, localizaĆ§Ć£o e acompanhamento de pessoas desaparecidas. A partir de um chatbot os usuĆ”rios que desejem notificar o desaparecimento de uma pessoa deverĆ£o submeter uma foto do desaparecido e algumas informaƧƵes adicionais de contato enquanto que os usuĆ”rios que desejem notificar a localizaĆ§Ć£o de pessoas desaparecidas deverĆ£o da mesma forma submeter uma foto da pessoa encontrada juntamente com algumas outras informaƧƵes. A cada registro de desaparecimento ou de localizaĆ§Ć£o o sistema realizarĆ” uma varredura no banco de pessoas desaparecidas com o intuito de notificar os responsĆ”veis pelo desaparecido quando este for identificado utilizando o Amazon Rekognition. AlĆ©m disso, a ferramenta serĆ” capaz de fornecer instruƧƵes de como agir em caso de desaparecimento ou localizaĆ§Ć£o de uma pessoa a partir do Amazon Bedrock, instruƧƵes essas que serĆ£o transmitidas ao usuĆ”rio atravĆ©s de um Ć”udio gerado a partir do Amazon Polly.

Icons

FUNCIONAMENTO DO SISTEMA

AtravĆ©s do canal de comunicaĆ§Ć£o usuĆ”rio possui as seguintes funcionalidades disponĆ­veis:

  • REGISTRAR DESAPARECIMENTO

    A funcionalidade de Registrar Desaparecimento Ć© responsĆ”vel por coletar e registrar informaƧƵes sobre uma pessoa desaparecida e o usuĆ”rio que estĆ” reportando o desaparecimento. O processo Ć© iniciado quando o usuĆ”rio expressa a intenĆ§Ć£o de registrar um desaparecimento atravĆ©s de frases como "Quero registrar um desaparecimento" ou "Uma pessoa desapareceu".

    O chatbot responde solicitando algumas informaƧƵes essenciais para a busca, incluindo o nome do usuĆ”rio, seu email de contato, o nome completo do desaparecido, a data de nascimento, o sexo e uma descriĆ§Ć£o do desaparecido. O usuĆ”rio tambĆ©m deve fornecer uma foto da pessoa desaparecida. ApĆ³s o recebimento dessas informaƧƵes, o sistema realiza as seguintes aƧƵes:

    • ValidaĆ§Ć£o da Foto: A foto enviada Ć© verificada para garantir que atende aos requisitos necessĆ”rios como formato PNG ou JPG e se existe somente uma pessoa na imagem. Se a foto nĆ£o for vĆ”lida, o usuĆ”rio serĆ” solicitado a enviar uma nova imagem.

    • Armazenamento dos Dados: As informaƧƵes fornecidas sĆ£o armazenadas no banco de dados, e a foto Ć© indexada utilizando o Amazon Rekognition.

    • GeraĆ§Ć£o de InstruƧƵes: InstruƧƵes sobre como proceder apĆ³s o registro do desaparecimento sĆ£o geradas pelo Amazon Bedrock e convertidas em Ć”udio pelo Amazon Polly, sendo entĆ£o enviadas ao usuĆ”rio.

    • ConfirmaĆ§Ć£o do Registro: O sistema confirma o registro e informa ao usuĆ”rio que o desaparecimento foi registrado com sucesso e retorna um nĆŗmero de protocolo que pode ser usado posteriormente para acompanhar o status. Caso a foto enviada corresponda a uma pessoa jĆ” registrada como desaparecida, o sistema notifica o usuĆ”rio sobre essa correspondĆŖncia ja ter sido cadastrada na base de dados.

  • REGISTRAR LOCALIZAƇƃO DE UMA PESSOA ENCONTRADA

    A funcionalidade de Registrar Pessoa Localizada Ć© destinada a notificar o sistema quando alguĆ©m encontra uma pessoa perdida. O processo Ć© iniciado quando o usuĆ”rio expressa a intenĆ§Ć£o de registrar uma pessoa localizada atravĆ©s de frases como "Encontrei uma pessoa perdida" ou "AlguĆ©m perdido estĆ” comigo".

    O chatbot responde solicitando algumas informaƧƵes essenciais para verificar se a pessoa encontrada jĆ” estĆ” registrada como desaparecida no sistema, incluindo o nome do usuĆ”rio, seu email de contato, nome completo da pessoa localizada, idade aparente, sexo, breve descriĆ§Ć£o da pessoa e uma foto da pessoa localizada. A foto validada Ć© utilizada pelo Rekognition para verificar a semelhanƧa entre as faces armazenadas no banco de pessoas desaparecidas e da foto enviada, para assim reconhecer se existe uma solicitaĆ§Ć£o em aberto de uma caso de desaparecimento respectivo para esta pessoa.

    ApĆ³s a foto ter sido validada utilizando a mesma estratĆ©gia descrita na funcionalidade anterior, o sistema aplica a mesma lĆ³gica de armazenamento de dados, geraĆ§Ć£o de instruƧƵes, confirmaĆ§Ć£o de registro e fornecimento de um protocolo porĆ©m ajustado para se adequar a este contexto.

  • ACOMPANHAR STATUS DE ALGUM REGISTRO

    ApĆ³s o recebimento do nĆŗmero de protocolo fornecido pelo usuĆ”rio, o sistema realiza a validaĆ§Ć£o do protocolo e aplica a lĆ³gica de verificaĆ§Ć£o do status do registro. O sistema verifica se o nĆŗmero de protocolo fornecido Ć© vĆ”lido, caso o protocolo seja invĆ”lido, uma mensagem de erro Ć© enviada ao usuĆ”rio, solicitando a reinserĆ§Ć£o do nĆŗmero de protocolo. Se ocorrer um erro ao processar a solicitaĆ§Ć£o, uma mensagem de erro correspondente Ć© enviada ao usuĆ”rio.

    No caso em que o protocolo for vĆ”lido, o sistema verifica o status atual do registro associado. Se a pessoa foi encontrada, o usuĆ”rio Ć© notificado com uma mensagem de sucesso e instruƧƵes sobre como proceder. O sistema tambĆ©m indica que o status foi atualizado e que o usuĆ”rio deve verificar suas comunicaƧƵes cadastradas para mais informaƧƵes. Se a pessoa ainda estĆ” desaparecida, o usuĆ”rio Ć© informado que o status permanece o mesmo e que o sistema entrarĆ” em contato assim que houver uma atualizaĆ§Ć£o.

ARQUITETURA

Arquitetura do sistema

TECNOLOGIAS E FERRAMENTAS

GUIA DE INSTALAƇƃO

  • Clone o repositĆ³rio e navegue atĆ© a branch mencionada.
$ git clone https://github.com/GiovaneIwamoto/reconnect-people.git
$ cd reconnect-people
$ git checkout main

Note

Para garantir o funcionamento correto de seu ambiente Ć© crucial configurar adequadamente as variĆ”veis de ambiente. Isso inclui definir os valores apropriados para os parĆ¢metros mencionados no arquivo env-sample.yml

  • Configure o framework Serverless e as credenciais AWS.
$ serverless
$ aws configure
AWS Access Key ID [None]: EXAMPLEKEYID
AWS Secret Access Key [None]: SECRETACCESSKEYEXAMPLE
Default region name [None]: us-east-1
Default output format [None]: ENTER

Important

Para utilizar o serviƧo Amazon Bedrock Ć© essencial habilitar o modelo amazon.titan-text-premier-v1:0. Este modelo oferece recursos avanƧados de processamento de linguagem natural, permitindo que a aplicaĆ§Ć£o realize a geraĆ§Ć£o de texto.

  • Navegue atĆ© a pasta onde se encontra o arquivo Serverless e realize o deploy da aplicaĆ§Ć£o.
$ cd backend
$ serverless deploy

Caution

Na sua conta da Twilio configure o mĆ©todo GET adequadamente com o endpoint fornecido pelo Serverless apĆ³s realizar o deploy na aba de configuraƧƵes de WhatsApp Sandbox como na tabela abaixo:

URL Endpoint When a message comes in Method
https://example.execute-api.us-east-1.amazonaws.com/chatbot GET

Equipe Adelson Nunes | Giovane Iwamoto | Leandro Pereira | LetĆ­cia Leme | Renan Mazzilli

About

šŸ§­ Reconnect People - Chatbot that uses Lex V2 as a conversational AI for managing the registration and tracking of missing persons and Rekognition for face comparison.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages