paint-brush
Conversas imersivas em RV com avatares de IA: Integrando ChatGPT, Google STT e AWS Pollypor@neighborlynook
4,391 leituras
4,391 leituras

Conversas imersivas em RV com avatares de IA: Integrando ChatGPT, Google STT e AWS Polly

por Matthew Zygowicz5m2023/04/19
Read on Terminal Reader

Muito longo; Para ler

O ChatGPT usa Google Speech-to-Text (STT) e Amazon Web Services (AWS) Polly em uma experiência de realidade virtual. O resultado é uma conversa verdadeiramente imersiva e interativa com um avatar Ready Player Me alimentado por IA, impulsionado pelas respostas do ChatGPT e enriquecido com recursos de entrada e saída de voz.
featured image - Conversas imersivas em RV com avatares de IA: Integrando ChatGPT, Google STT e AWS Polly
Matthew Zygowicz HackerNoon profile picture
0-item


A Realidade Virtual (VR) abriu novas fronteiras na forma como interagimos com a tecnologia. Recentemente, tive a oportunidade de expandir ainda mais esses limites com uma demonstração técnica que integra ChatGPT , Google Speech-to-Text (STT) e Amazon Web Services (AWS) Polly em uma experiência de realidade virtual.


O resultado?


Uma conversa verdadeiramente imersiva e interativa com um avatar Ready Player Me alimentado por IA, impulsionado pelas respostas do ChatGPT e enriquecido com recursos de entrada e saída de voz.


O loop do jogo





O conceito por trás dessa demonstração técnica era criar uma sala virtual onde os usuários pudessem ter conversas realistas com um avatar de IA, alimentado por ChatGPT.


Para levar a experiência para o próximo nível, integrei o Google STT para entrada de voz, que transcreve a fala do usuário em texto. Este texto é então enviado a um microsserviço para processamento e encaminhado ao ChatGPT para gerar uma resposta relevante. Depois que a resposta é gerada, o AWS Polly é usado para conversão de texto em fala (TTS) e a saída é enviada de volta ao avatar para processamento de voz, resultando em uma conversa quase perfeita e dinâmica.



Avatar digital falando com animação




Um dos recursos de destaque desta demonstração técnica é a integração de avatares Ready Player Me, com Lip Sync ativado. Isso significa que, à medida que o áudio é reproduzido, a boca do avatar se move em sincronia com a fala, criando uma experiência de conversa altamente realista e interativa. Esses avatares servem como representação visual da IA, adicionando uma camada de imersão e personalização à conversa.


Para tornar as conversas envolventes, criei três cenários de solicitação pré-preenchidos para o ChatGPT.


No primeiro cenário, a IA desempenha o papel de representante financeiro, prestando assessoria na gestão de finanças e investimentos.



O segundo cenário envolve a IA atuando como psiquiatra, fornecendo terapia e aconselhamento virtual.


Por fim, no terceiro cenário, a IA assume a personalidade de um comerciante de fantasia, vendendo equipamentos e itens virtuais.



Esses cenários fornecem um vislumbre dos possíveis casos de uso dessa tecnologia em vários domínios, como finanças, saúde mental e entretenimento.


Embora não seja falado o suficiente, a engenharia imediata é um talento por si só. Como você pode ver no código , configurar uma cena contextual e garantir que o avatar não perca o personagem pode ser complicado. Essencialmente, precisamos garantir que o modelo não quebre o roteiro, mas permaneça realista. Nos vídeos completos acima, você encontrará o comerciante de fantasia ocasionalmente quebrando o personagem e exibindo um tique repetitivo, quase nervoso, de dizer "bem, bem, bem" enquanto vocaliza suas emoções.


Criando ambientes verossímeis para conversas imersivas em RV

É importante observar que esta demonstração técnica usou principalmente animações e modelos prontos para uso na direção de arte. No entanto, para um aplicativo completo, investir em animações realistas, incluindo animações de fala com análise de sentimento para tons de animação positivos/negativos e animações de preenchimento durante o tempo de processamento, pode aumentar a credibilidade e a naturalidade das interações de IA. Isso elevará ainda mais a experiência imersiva e a tornará mais semelhante a conversas humanas.


Um dos desafios na criação de uma experiência de conversa em RV verdadeiramente imersiva são as limitações de nossos sentidos. Em ambientes virtuais, normalmente dependemos da visão e do som para perceber e interagir com o mundo. Como esses são os 2 sentidos que estão envolvidos, você fica hiperconsciente quando algo em um cenário parece errado. Para tornar o mundo virtual mais real e desviar a atenção da natureza surreal do ambiente, é crucial criar ambientes verossímeis que imitem os ambientes do mundo real.


Os recursos visuais desempenham um papel crucial na criação de uma sensação de presença em VR. O uso de modelos 3D realistas pode ajudar, mas texturas, iluminação e animações podem criar um ambiente que se pareça com o mundo real, mesmo com gráficos estilizados. Por exemplo, se o avatar de IA for colocado em um escritório virtual, o uso de móveis, decorações e iluminação de escritório precisos pode criar um ambiente familiar com o qual os usuários possam se relacionar, tornando a conversa mais autêntica.


O som é outro elemento-chave que contribui para a imersão nas conversas de RV. O áudio espacial, em que o som muda de direção e intensidade com base na posição do usuário e nos movimentos da cabeça, pode aumentar muito a sensação de presença.


Por exemplo, se o usuário ouvir a voz do avatar de IA vindo da direção em que o avatar está localizado, isso aumenta o realismo da conversa. Porém ainda mais importante que o som do avatar, é o ruído branco do dia-a-dia. Sons de um assistente remexendo papéis, pessoas mexendo do lado de fora, telefones, etc. Esses sons geradores de ruído branco são necessários para ajudar a mascarar qualquer raciocínio computacional e ajudarão a distrair o usuário e mantê-lo em uma imersão surreal.


Observando os replays das interações de vídeo, todas elas parecerão erradas. O ambiente foi criado especificamente para sobreposições de depuração e nenhum ruído branco de fundo estava ausente. Se eu fosse focar na criação de uma experiência realista, minhas áreas de foco incluiriam; animações, design de som, cenografia e engenharia imediata. Esta seria a ordem de importância, a engenharia imediata seria a última em minhas considerações, pois quando você é quem está falando com a IA, pode chocar às vezes o quão bom pode ser prever o que deve dizer a seguir, especialmente com um poço animação cronometrada.


Conclusão - Assumindo o Futuro

Embora esta demonstração técnica mostre o imenso potencial de integração do ChatGPT, Google STT e AWS Polly em uma experiência de realidade virtual, ela também levanta importantes considerações éticas. Garantir que os dados do usuário sejam tratados com segurança e responsabilidade e que os modelos de IA sejam treinados de maneira justa e imparcial deve ser priorizado no desenvolvimento e implantação de tais tecnologias. À medida que essas interações se tornam mais amplamente disponíveis, a criação de humanos virtuais simulados para enganar informações pessoais de usuários dispostos pode parecer algo saído de um episódio de Black Mirror, mas está rapidamente chegando ao reino das possibilidades.


Em conclusão, esta demonstração técnica representa um passo significativo na quebra de limites nas interações de RV com IA. A integração do ChatGPT, Google STT e AWS Polly permite conversas imersivas e dinâmicas, abrindo caminho para possibilidades empolgantes em domínios como educação, atendimento ao cliente e entretenimento. Com mais avanços nas tecnologias de animação e IA, podemos esperar um futuro em que conversas virtuais com avatares de IA se tornem mais naturais, envolventes e populares. O potencial dessa tecnologia é vasto e estou emocionado em ver como ela evolui e transforma nossa interação com a IA no mundo virtual.


Links:

Github para Sigmund Microservice: https://github.com/goldsziggy/sigmund


Arquivo Docker para microsserviço:

 docker run -it -p 8080:8080 --env-file .env matthewzygowicz/ms-sigmund


Se houver interesse suficiente, posso/vou reescrever a parte Unity do código usando todos os ativos de código aberto para abrir o código também.