Como Usar Structured Outputs da OpenAI no WhatsApp: Enviando Respostas Humanizadas com ChatGPT!
3.48k views3888 WordsCopy TextShare
Gabriel Augusto
#chatgpt
Neste vídeo, vou te mostrar como utilizar Structured Outputs (Saídas Estruturadas) da Open...
Video Transcript:
Fala Guto tô iniciando mais um vídeo aqui no canal Cara preciso que você peça pro pessoal se inscrever e deixar o like aqui no Vídeo Show de bola pessoal sem mais delongas vamos iniciar o nosso vídeo aqui e o tema de hoje é chatbot respondendo como humano certo é ele fragmentando a mensagem aqui para que fique mais humanizado para que fique mais fluido ali a comunicação e não fique só aquele bloco de texto sólido ali que cansativo inclusive de ler Beleza o responsável por por esse fluxo por essa execução está aqui ó cara parece complexo mas não é deixa eu dar um zoom aqui para para vocês primeira parte é a parte de buffer a gente tratou no no vídeo anterior então se você não assistiu ainda corre lá para ver depois você volta aqui porque é interessantíssimo certo beleza depois disso eu tenho uma tratativa aqui de áudio e texto e imagens imagens eu não aceito Então eu só só respondo ali que eu não aceito beleza e aqui é a grande questão isso aqui é o que faz ele fragmentar as sentenças ali fragmentar as mensagens e enviar uma por uma com o delayzinho Deli esse que é de acordo com a quantidade de caracteres pessoal muito muito legal então se o texto for muito grande ele vai ter um delay maior tá digitando tá escrevendo ali se o texto fo for pequeno o delay ali o tempo de espera para mandar aquela mensagem vai ser curto então rapidinho ele digitou entre aspas e já encaminhou a mensagem ali para o cliente show e aqui no meio eu tenho só um simples eh gerenciamento aqui de memória certo eu utilizo Heads mesmo para fazer esse gerenciamento aqui sem problemas Beleza então Eh vamos aqui pra parte do da fragmentação das mensagens certo eu estou aqui utilizando uma funcionalidade relativamente nova da aí tem 30 dias isso foi publicado dia 6 de Agosto tem cerca de 30 dias né vai vai fazer 60 dias em breve Então vamos lá eh introdução a saídas estruturadas na api beleza retrocedendo ali para o início da do openi Ali quando a gente começou a utilizar api quando a gente queria uma saída em Jason a gente precisava instruir via Prom ó eu quero que a saída seja assim assim assim certo e cara isso era muito falho Se você olhar aqui ó 35. 9 então mais da metade das vezes falhava o Jason que era criado Ali pela Inteligência Artificial e isso já no GPT 4 tá ciente disso a Open criou o response Format que a gente podia instruir ali a inteligência falando que a saída deveria ser um Jon então a gente falava ó eu quero que a saída sej um Jason mas isso nos obrigava a no prompt falar ó a saída tem que ser um Jason assim assim assado certo isso melhorou e muito o nossos resultados certo e foi para 75. 3 mas ainda tinha uns 25% de falha ali que quando a gente tem uma aplicação escalada que já recebe muitos clientes cara de 100 pessoas 25 vai ter problema certo e de 100 execuções 25 pode ter problema melhor dizendo né Beleza depois disso eh foi lançado o GPT 4 e de 75 subiu para 86 cara muito bom excelente já eh e o funcionamento Mas ainda tem 14% de chance de erro certo e aí pensando nisso a Open lançou as saídas estruturadas Então me acompanhem aqui com o lançamento das saídas estruturadas tem um um parâmetro aqui que se chama strict que ele é false ou true certo e só de ter lançado a saída estruturada mesmo com strict fse já subiu lá no GPT 4 de 85.
1 para 93% certo então já tivemos um ganho Então agora é só sete execuções e poderia dar erro ali no Jason certo só que com strict true a gente chega no número o 100% toda execução vai sair no formato Jason que a gente solicitar certo então Então a gente vai pedir para que ele Gere e a resposta fracionada e ele sempre vai gerar a resposta fracionada em 100% das vezes Beleza então voltando aqui e que eu tenho em mente aqui existe três formas que a gente pode pedir pro pro GPT pro GP não né que a gente pode fracionar as sentenças forma um via código um um no de código aqui JavaScript que a gente vai procurar o ponto exclamação interrogação em todo o texto e a gente vai fragmentando ele certo funciona mas precisa tratar alguns erros como Ah e quando tiver número tipo 0. 1 tipo ou é 20. 90 para ele não pegar e fracionar e dividir isso é é em duas sentenças né que senão vai ficar cortado ali um preço da vida certo é funciona mas precisa tratar erros ir e solicitar para o GPT via prompt utilizando o response Format Jason certo cara aqui ó temos ã 90 85% eh de chance de ter um resultado Ok funcional Mas tem uma margem de 15% aí que não é legal beleza e a o formato que eu vou apresentar para vocês agora que é utilizando a saída estruturada um esquema com strict true que 100% das vezes vai dar certo beleza então vamos aqui para vocês entenderem como que isso funciona certo essa saída estruturada Ela depende que no response Format a gente sinaliza que a gente vai enviar um Jon esquema certo e aí a gente envia ali o esquema o formato que a gente quer a nossa resposta ele vai gerar essa resposta neste formato exato certo então aqui ó um exemplo ele é um Tutor de matemática aqui e ele tem que trazer a solução Step by Step passo a passo o usuário perguntou para pediu para ele resolver Quanto que é 8x + 7 = -23 e aqui a gente tem o nosso response Format que especifica aqui que é Jon esema certo e o di o esquema da saída que precisa das propriedades steps e da propriedade final eh answer certo e aqui a gente tem a resposta os steps são o a cadeia de pensamento dele ele começou a equação passo a passo e trouxe a resposta final pro usuário certo então a gente iria o quê exibir aqui a resposta final dependendo da sua aplicação se você quisesse trabalhar com com o steps aqui né o passo a passo que ele foi fazendo para chegar na solução ou se você vai usar só a sua resposta final por exemplo o usuário Faz uma pergunta matemática e ele tum responde e o resultado final certo e como que nós utilizamos esse esse esquema aqui certo como que a gente cria esse esse esquema porque cara olhando para isso aqui olhando para isso aqui a gente fala Meu Deus que que eu vou fazer eh como que eu vou criar uma parada dessa certo é meio chatinho eh visualmente falando mas vamos lá vindo aqui para pro nosso fluxo do do nhn eu já tenho eh o formato que eu solicitei ali para o a Open Eye mas eu vou te ensinar a criar esse formato agora certo então a gente vai criar novamente este fluxo aqui eu não vou excluir mas eu vou criar ele aqui em cima novamente certo então o que que eu pensei aqui pra gente ter essa saída estruturada e Us e usar eh uma cadeia de pensamento e ter uma resposta final fragmentada certo eu vou explicar aqui mostrando o Jon mas depois eu ensino a criar esse esse Jon aqui certo beleza eu tenho um Jon esquema que chama instrução de resposta final certo aí a descrição dele ó siga esses Passos primeiro Analise a mensagem do usuário Pense uma estratégia de resposta e finalmente Gere a resposta final certo e aqui eu vou ter os o as no cas refle as saídas V chamar as propriedades são as saídas reflection que é a reflexão aqui ó que a descrição é refle US seu contexto estratégia e resposta final Beleza então aqui eu tenho essas três saí que eu preciso tenho aqui eu preciso falar que elas são required isso tudo tá aqui na documentação explicando certo a gente tem um atributo bem interessante que é adicional proprietes certo isso aqui significa que eh GPT não adicione nada além do que Eu des eh descrevi aqui certo utilize somente isso e o strict que é o que faz essa mudança de 93% aqui para 100% das vezes ele responder corretamente beleza E agora Como que eu criei isso sabendo que eu queria uma um no Jason uma saída de reflexão uma saída de estratégia e uma saída de resposta final que é o que a gente tem aqui ó de saída quando eu mando um Olá eu vou até mandar um Olá aqui novamente tá Olá mandei um Olá ele tá rodando e aqui a gente já tem ó mandei um Olá reflexão o usuário cumprimentou apenas com o Olá e e há uma saudação comum e serve para iniciar uma conversa é importante responder de forma amistosa para engajar o diálogo a estratégia resposta responda de forma amigável e educada dando continuidade à conversa e mostrando disponibilidade para ajudar e a resposta final que é o arrei certo olá como posso ajudar você hoje Se precisar de alguma coisa é só de me falar certo aqui a gente já tem as duas mensagens que a gente tá utilizando ali para mandar no WhatsApp certo então voltando aqui para o nosso formato eh ah deixa eu falar um ponto importante aqui já eh para vocês vocês observarem eu tô utilizando o o no http para se comunicar com a Open com a p do chat GPT certo por eu não t utilizando um Agent aqui ainda no nhn eu não não verifiquei n versões mais novas mas a versão que eu tô aqui um save aqui deixa eu ver qual que é a versão a versão que eu t aqui a 1544 certo ela não tem essa funcionalidade aqui de saída estruturada certo então quando a gente ativa isso aqui ó que a gente quer que eh a saída seja num resultado específico do aí agente ele vai solicitar aqui que a gente eh Coloque aqui como que é e a gente coloca que é uma saída estruturada mas esse essa saída estruturada aqui não é essa saída estruturada aqui essa saída estruturada cria no promp e a informação e o response form falando que é Jason pedindo que saia dessa forma certo então ele entra nessa parte aqui ó dos 86.