https://a.storyblok.com/f/270183/50648/a06b218050/futurenow-hackathon.png

Hackathon FutureNow com a Universidade de Manipal, a e& enterprise e a Vonage

Publicado em November 24, 2022

Tempo de leitura: 7 minutos

FutureNow Hackathon participants and staffFutureNow Hackathon participants and staff

Sobre o Hackathon

Nos dias 5 e 6 de novembro, a Vonage fez uma parceria com e& enterprise e Manipal Academy de Ensino Superior (MAHE), Campus de Dubai, para a realização do FutureNow Hackathon. O hackathon convidou alunos do curso de Ciência da Computação da MAHE para participar de uma competição técnica de 24 horas.

O hackathon começou com um workshop ministrado por Benjamin Aronov, Developer Advocate da Vonage. Ele apresentou uma visão geral das APIs da Vonage e, em seguida, fez uma demonstração prática, criando um agente do WhatsApp usando o AI Studio . Os alunos aprenderam sobre a interface de arrastar e soltar do AI Studio, seu poderoso mecanismo de NLU e como ele pode se conectar a serviços externos por meio de chamadas de API.

Os alunos foram então desafiados a utilizar APIs de comunicação baseadas em IA para ajudar as organizações a melhorar suas relações com os clientes. Nove equipes apresentaram soluções utilizando a plataforma Vonage AI Studio. A equipe vencedora foi a quadKernals, formada por Brandon Savio Rodrigues, Jaison Thomas, Sania Ejaz e Shreesh Chaturvedi.

Perguntamos à equipe mais detalhes sobre seu projeto e suas aspirações para um futuro na área de tecnologia.

Entrevista com o quadKernals

Quais eram as diferentes funções na equipe? Quem fazia o quê?

Jaison: “Shreesh e eu criamos as chamadas de API para interagir com os agentes de IA da Vonage. Aprendemos como interagir com o agente de IA via HTTP. Ou seja: criar a sessão, acessá-la e trocar mensagens. Também criamos o sistema de gerenciamento de acesso a eventos que fica no lado do agente de IA.”

Sania: “Brandon e eu criamos a sincronização entre o Video e o áudio dos GIFs. Eu criei os GIFs e, depois, basicamente tivemos que sincronizá-los com o áudio, além de mapear as palavras-chave para os GIFs. Assim, dependendo da palavra-chave que aparecer, ela é mapeada para uma ação específica. Basicamente, tínhamos quatro GIFs e precisávamos mapear isso.”

Brandon: “Consegui fazer a interface de conversão de texto em fala funcionar. Ela ficava repetindo o mesmo trecho sem parar, e eu consertei isso. Outra coisa que a Sania fez foi criar o design de cada um dos estados do Domino, então a arte foi personalizada.”

Qual é o emprego dos seus sonhos depois de se formar em Ciência da Computação?

Shreesh: “Bem, eu gostaria de ser engenheiro de software, mas gostaria de ter mais independência, como criar meus próprios projetos para mim mesmo. Ser um pouco freelancer. Acho que gostaria de ser um desenvolvedor full stack, mas meu foco principal seria o back-end.”

Jaison: “O trabalho que paga melhor. Mas, falando sério, entrei na área de Ciência da Computação para criar soluções que causem impacto em muitas pessoas, porque isso é possível com computadores — algo que, basicamente, não se consegue em muitas outras áreas. As pessoas vêm criando applications que bilhões de pessoas usam. Então, ser alguém capaz de escalar applications nesse nível, é isso que eu quero fazer. Por isso, arquitetura de sistemas. Gostei muito da nossa disciplina de Redes.”

Sania: “Então, tenho muito interesse em IA e ML. Acabamos de começar nossas disciplinas complementares nessas áreas, e quero fazer meu mestrado em inteligência artificial e aprendizado de máquina. Esse é o próximo passo, porque quero aprofundar meu conhecimento sobre todas as redes neurais e contribuir com alguns dos meus próprios produtos para essa área. A gente acompanha os trabalhos de pesquisa e os artigos que são publicados, e tudo isso me parece muito interessante.”

Brandon: “Meu sonho é me tornar um especialista em segurança cibernética. Espero aprofundar meus conhecimentos nessa área e, um dia, me tornar um especialista. Para defender, não para atacar.”

O que você desenvolveu para o hackathon?

Criamos um projeto chamado Domino. É uma interface de Video para o seu aplicativo de bate-papo. Criamos um bot composto por vários GIFs e mapeamos textos para diversas respostas e ações. Assim, dependendo do tipo de texto que você dissesse, ele realizava a ação correspondente. Por exemplo, um “oi” resultaria em um aceno. Quando você estivesse falando, o bot daria a impressão de estar ouvindo. Quando ele estivesse falando, usaria o GIF de alguém falando. E, se não entendesse algo, faria uma cara de confusão.

Que problema o Domino resolve?

Escolhemos a assistência em eventos como caso de uso. Quando a GITEX aconteceu em Dubai, foi um evento enorme, com muitos workshops e estandes. Muitas vezes, acabávamos nos perdendo no local. Tínhamos que procurar alguém da equipe do evento para perguntar onde estávamos, onde uma determinada sessão estava acontecendo ou a que horas ela começaria. Então, em vez disso, pensamos: e se tivéssemos um chatbot para perguntar “a que horas é tal evento?” e ele nos desse a resposta? Assim, a navegação por todo o evento seria muito mais rápida e fácil. E esse tipo de coisa pode ser tratado por um chatbot para melhorar significativamente a experiência do usuário.

E essa é apenas uma das possibilidades. Mas, ao criar uma interface que permite interagir com um personagem animado, em vez de usar apenas texto, a experiência do cliente é aprimorada. Assim, em vez de tentarem evitar falar com o chatbot, eles vão aproveitar a experiência conversando com o personagem.

O que você aprendeu ao desenvolver o Domino?

Shreesh: “Aprendi bastante sobre desenvolvimento web, o que não era exatamente minha especialidade. Aprendi a lidar com solicitações e respostas da API REST e como podemos usar dados para criar novas solicitações dinamicamente, já que o texto do usuário não é limitado, pois a NLU permite que ele insira respostas de forma natural.”

Jaison: “O que eu tive que fazer dessa vez foi estudar a documentação com bastante atenção. Não dava para simplesmente copiar um tutorial já existente. Estudei a documentação e tentei entender como as APIs funcionam. Foi uma experiência nova para mim. Normalmente, não dedico tanto tempo para entender como uma API funciona. Gostei de fazer isso.”

E foi realmente fácil criar o chatbot. Normalmente, quando você lê sobre como criar chatbots em Python, há muito aprendizado de máquina envolvido na camada de processamento de linguagem natural (NLP), além de ter que lidar com dicionários, casos e tudo mais. Mas aqui, bastava conectar e usar; bastava inserir o que você precisava e ele já gerava o resultado. E o recurso “Intents” foi muito útil. É como se você colocasse algumas frases e ele continuasse sugerindo outras; você não precisa construir nada disso. Já está tudo lá! Então, poder criar algo tão completo e tão rápido foi muito legal.”

Sania: “Essa foi a primeira vez que me aprofundei na animação, e foi uma experiência muito interessante. Depois disso, veio a sincronização da animação com o áudio. Quando consegui fazer funcionar, o resultado ficou muito bom. Foi gratificante ter conseguido, de alguma forma, fazer tudo funcionar depois das inúmeras vezes em que deu errado de maneiras diferentes, em situações diferentes. Então, essa foi a parte divertida.”

Como foi a implementação técnica do projeto?

Queríamos criar um banco de dados SQL, mas, devido a limitações de tempo, utilizamos my-json-server para criar um objeto JSON como banco de dados, colocá-lo no GitHub e, em seguida, usar o my-json-server para disponibilizar esses dados.

Nosso front-end era em HTML e Vanilla JS. E, com JavaScript, chamávamos as APIs, recebíamos as respostas em JSON e, em seguida, exibíamos esses dados no front-end. Portanto, todo o fluxo seria:

  1. O usuário envia uma mensagem

  2. A mensagem é enviada ao AI Studio, que a processa por meio de um agente HTTP e decide qual deve ser a resposta

  3. Envie a resposta para nossa função de conversão de texto em fala para que ela seja lida em voz alta

  4. Diga ao bot conversacional qual ação ele deve realizar de acordo com o que foi dito

Algum recurso específico do AI Studio te surpreendeu?

Jaison: “O quão boas eram as intenções. Eu tinha a consulta ‘em que evento estou?’ — então isso se refere ao local. Por isso, adicionei como expressão ‘onde fica esse local?’, e você poderia, em vez disso, usar outra palavra-chave para isso, como ‘destino’. E ele não teria dificuldade com isso. Ele perceberia: ‘Ah, sim, “destino” está lá e “onde fica” está lá’ — então deve ser outra intenção de localização. E ele seria capaz de extrair o contexto dessa forma, o que era muito, muito legal.”

Sania: “As sugestões de expressões foram realmente precisas. Depois que você digita uma, recebe várias sugestões que, de alguma forma, reconhecem o que você está procurando. É muito bom.”

O que vem a seguir para vocês, como grupo e individualmente?

Temos o nosso Tech Fest da Universidade daqui a algumas semanas e queríamos criar uma interface para que as pessoas pudessem se comunicar por meio de um bot simples do WhatsApp. Mas agora podemos criar uma forma interativa para que as pessoas encontrem o que estão procurando no Tech Fest.

Shreesh: “Ainda faltam três anos para eu me formar. Estou tentando participar de mais atividades para ganhar experiência no mundo real, como esse hackathon. E talvez ganhar mais alguns!”

Jaison: “Faltam apenas alguns meses para eu me formar. E o mercado de trabalho não parece muito promissor. Mas preciso começar a procurar emprego. Também estou me inscrevendo em cursos de mestrado em Aprendizado de Máquina e Engenharia de Sistemas.”

Sania: “Com certeza, um mestrado em Aprendizado de Máquina e Inteligência Artificial. Também vou terminar o curso com o Jaison daqui a alguns meses.”

Confira o Jaison no LinkedIn se você estiver contratando engenheiros de software!

The quadKernals team accepting their victory trophy.The quadKernals team accepting their victory trophy.

Fique por dentro das novidades

Para saber em quais eventos para desenvolvedores a equipe de Relações com Desenvolvedores da Vonage estará presente, acesse nossa Comunidade de Desenvolvedores página.

Procurando outros desenvolvedores da Vonage? Participe da conversa na nossa Slack da Comunidade Vonage ou envie-nos uma mensagem no Twitter.

Compartilhar:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovDeveloper Advocate

Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.