Quer saber mais sobre o nosso Curso Completo de Python? Clique no link abaixo para garantir sua vaga...
Video Transcript:
fala impressionadores esse vídeo eu quero ensinar vocês a usarem a api do chat GPT vamos lá vamos partir direto a gente vai fazer um exemplo aqui prático usando o chat GPT dentro dos nossos códigos o meu objetivo é te mostrar dentro desse vídeo como que você vai fazer para integrar o chat PT com alguma solução que você queira criar seja no seu site seja o seu chatbot seja alguma solução de automação que você tá fazendo Vamos partir para o conteúdo [Música] bom galera sem mais delongas vamos começar tá aqui dentro desse vídeo eu vou usar o Python como exemplo Porque aqui no canal o pai tem uma das principais linguagens de programação que a gente ensina Mas vocês vão ver ao longo do vídeo que isso daqui vai funcionar para qualquer linguagem de programação que você queira porque pelo seguinte PT no momento que eu gravo esse vídeo ela funciona no esquema de requisições por meio de links como se fosse uma rast mesmo né Ou seja a gente vai essencialmente fazer uma requisição no link passando algumas informações e ele vai devolver uma resposta pra gente esse processo de fazer uma requisição ição e pegar a resposta ele pode acontecer em qualquer linguagem de programação a gente vai usar que o Python como exemplo existem outras formas sim de usar pi e do chat GTT e eu vou justamente comentar sobre elas agora no início do vídeo então tem aqui ó um arquivo de Python em branco e aí a gente vai usar isso daqui para justamente criar o nosso código primeiro que você tem que fazer é entrar lá no chat GPT entrar lá no site GPT só botar no Google entrar no primeiro link E aí você vai ver aqui ó em developers você vai ter aqui ó a api né Ou seja a documentação da p. i Você pode ler isso daqui que eu explico no vídeo vai estar aqui e aqui vai ter até mais detalhes de outras coisas eu vou tentar trazer de uma forma mais didática para vocês se você reparar o chá de GPT ele já tem soluções prontas da api dele em Python e em no DJs ou seja para a galera aí que usa JavaScript para galera que usa pai mas eu não vou usar essa solução daqui da digamos assim da biblioteca padrão que ele cria para gente do módulo padrão que ele queria pra gente tá porque justamente para fazer uma requisição vai funcionar em qualquer tipo de linguagem de programação você poderia usar isso daqui também Mas eu particularmente acho que o modelo de fazer requisições e pegar respostas Eu gosto bastante dele então vou usar ele aqui até porque para o resto da documentação Acho que pelo menos no momento que eu gravo esse vídeo vai ser mais simples de mostrar essa forma tá então vamos lá a primeira coisa que você vai ter que fazer é autenticar tá o chat PT ele permite você usar ele de forma gratuita até um determinado limite tanto que se vocês olharem aqui na minha conta eu clicar aqui em upgrade vai ver que tem aqui a opção de urgente mas você vai ver que eu já usei mais ou menos um centavo de dólar de 18 dólares que eu tenho de crédito a partir do momento que eu criei a minha conta aqui tá então e esse crédito também tem uma data para expirar então entendam que a api ela vai ser gratuita nos seus testes iniciais mas se você pretende usar isso aqui realmente numa solução completa Provavelmente você vai ter que acabar indo para um plano pago Beleza então vamos voltar lá para documentação da pay que era o que a gente tava começando e para você usar a documentação a primeira coisa que tem que fazer é criar uma chave de mapa aí e aí se você olhar aqui dentro da parte de autenticação você tem aqui ó visite que se você entrar aqui você vai ver que tem uma chave de apinha aqui eu já tinha criado você pode criar uma nova chave de apelo é só você vir aqui ó clicar em Create News 5 aqui ele vai criar essa nova chave você copia ela e aí eu vou copiar ela aqui vou chegar aqui no meu código em pai então vou criar um novo arquivo que vai ser um arquivo que ele só vai ter a minha senha ele só vai ter essa senha e aí aqui eu vou botar aqui ó aqui vai ser igual aquela chave que a gente acabou de não adianta vocês tentarem copiar a minha chave você tem que criar a chave de vocês Até porque assim que eu acabar esse vídeo vou deletar essa chave daqui vocês não vão mais conseguir usar essa chave então você tem que criar sua chave você tem que entrar no chat GPT criar uma conta caso você não tenha criado criar uma chave para você beleza e a gente vai usar agora essa chave justamente dentro do nosso código essa é uma maneira para a gente não ter que digamos se inscrever diretamente no nosso código essa chave você poderia usar variável no ambiente poderia usar várias outras soluções e aí a primeira coisa que eu vou fazer é justamente importar essa chave então from senha Import a nossa ampai aqui para importar essa chave que tá nesse arquivo separado OK agora pra gente conseguir fazer essas requisições pegar informações lá do chat GPT mandar informações para lá a gente precisa fazer requisições para isso a gente vai usar a biblioteca requests para conseguir fazer isso então vou importar a biblioteca requests e também eu vou importar a biblioteca Jason tá porque a biblioteca Jason ela vai permitir a gente formatar as informações que a gente manda para o chat GPT da forma correta basicamente vocês entenderem caso você não tenha nunca visto sobre esse tema é o seguinte quando você faz uma requisição para um site você pode fazer uma requisição enviando informações para esse site essas informações que você envia para esse site Elas vendem esse formatozinho Jason e quando ele te devolve alguma resposta ele também devolve nesse formato em Jason então importar essa biblioteca vai ser importante para Justamente a gente poder usar ele essa biblioteca você não precisa instalar Ela já me instalada no Python mas a request você precisa assim então vou abrir aqui meu terminal e vou digitar aqui ó PIP no story Quest beleza e ele vai fazer a instalação do request para mim é claro que tem que estar com conectado na internet tanto para ele fazer a instalação quanto para você poder usar api afinal de contas é um serviço online que você tá usando tá beleza aí a primeira coisa que você vai fazer aqui agora na hora de usar se você voltar lá para documentação a gente aprende a nossa chave a gente pode voltar lá para nossa documentação aqui em pirefrence beleza e aí aqui se você olhar ele vai falar a primeira coisa você tem que fazer uma autenticação por meio de um Berry token esse daqui é um dos tipos de autenticação que existem dentro de uma API essa autenticação aqui para ela funcionar basicamente é o seguinte quando você for fazer a sua requisição né Você normalmente faz assim requisição vai ser o requests que é aquela biblioteca ponto e corre que são você quer fazer requisição Gates para você pegar uma informação e que são post para você enviar alguma informação normalmente é isso só que aqui dentro dessa requisição no nosso caso essa requisição vai ser uma requisição do tipo post tá a gente já vai a gente vai fazer uma dieguete também uma depoxa e assim vai mas aqui dentro desse parentes da requisição um dos parâmetros que você pode passar aqui dentro é primeiro o link onde você vai fazer a requisição e depois são os cabeçalhos ou seja os headers da sua requisição que que significa isso é aqui que você vai colocar aquele token de autenticação nesses headers nesse cabeçalho e no pai então a gente faz isso criando um dicionário de headers então repara o seguinte eu tô criando Esse dicionário aqui de headers e vou passar no parâmetro heders o dicionário que eu acabei de criar aqui em cima beleza e aí aqui dentro a gente vai passar Exatamente isso daqui que ele escreveu por exemplo pra gente E aí essa aqui vai ser a chave então vai ser ó a chave do dicionário vai ser offarization 2 pontos e aí o código aqui do dicionário vai ser Behr e a sua chave de api Behr e a sua chave de api que no nosso caso chama EPI como enviar Aqui Acontece o seguinte você quer uma variável dentro de um texto Então você é uma variável dentro de um texto eu vou botar um vizinho na frente para ele conseguir formatar esse texto e colocar variável entre Chaves então aqui a gente conseguiu definir Quais são os cabeçalhos dessa requisição que a gente quer fazer agora você tem que dizer para ele Qual o link da requisição eu quero conseguir fazer eu quero fazer né para eu conseguir usar a nossa api do chat GPT E aí se você reparar ele vai mostrando aqui olha só esse aqui é um link de uma requisição esse aqui é um exemplo dele usando o código em Python direto que é exatamente o mesmo exemplo que a gente está fazendo aqui agora só que usando né a biblioteca Python que o chat PT disponibiliza e aqui usando a do note DS beleza e aí repara o seguinte se você for descendo aqui você vai vendo os links de requisição que você pode fazer Então olha só esse primeiro link de requisição ele fala olha você tem que fazer o maior request do tipo get para esse link daqui e ele fala o que que isso aqui vai fazer isso aqui vai te dar todos os modelos disponíveis Então apesar de eu ter falado para vocês que a gente estava usando chat GPT na verdade a gente tá usando apido ou peniai e aqui dentro tem várias soluções não só o chat GT o chat GPT é uma dessas soluções mas se você olhar você vai reparar que você tem vários modelos diferentes e aí justamente isso a primeira coisa que a gente vai fazer a gente vai deixar todos os modelos disponíveis que a gente pode utilizar Então vou copiar esse link daqui tá vendo copiei esse link contra você list Model tá vendo vou vir aqui vou colar aqui ó como a variável link vai ser esse link daqui e agora a gente vai fazer uma requisição para esse link e aí depois eu vou printar duas coisas eu vou printar a requisição e eu vou printar também a requisição ponto text para a gente ver qual é a resposta que tá vindo dentro dessa requisição então eu tô primeiro printando a variável requisição para saber se ela deu certo ou não e depois a requisição ponto Texx para saber qual a resposta que vem ali dentro e vamos rodar esse código para a gente visualizar Rodrigo olha lá o que que vem para a gente olha que legal já vem um monte de coisa aqui para gente e aí se você reparar primeiro a gente printou a requisição que é esse código 200 código 200 significa que é requisição deu certo código 200 é quando dá certo aqueles outros códigos 500 404 413 tudo mais são códigos que deram errado eu não vou entrar tão fundo aqui se você quiser que eu entro mais a fundo as refeições funcionam Vou deixar um vídeo o link de um vídeo aqui na descrição tá Também vou aproveitar e vou deixar aqui na descrição o código pronto para vocês então pega lá e também um mini curso de automação com python você pode usar para integrar justamente com que você vai aprender nessa aula de chat GPT para criar automações inteligente então pega lá na descrição o link de curso de automação seu primeiro projeto de automação a gente vai construir lá também voltando para cá agora ele mandou uma resposta aqui para gente galera Quais são os modelos que ele tem E aí ele fala olha só a gente tem o modelo que eu particularmente nunca usei não sei como é que como é que ele funciona a gente tem aqui esse modelo do Da Vinci que é uma outra Inteligência Artificial que eu openei aí tem e ele tem vários outros modelos ó o textils a 20 tem o Bebeto code search tem olha o outro bebet e aí vamos olhando aqui dentro e aí um desses modelos vai ser justamente o modelo do chat GPT se você quiser acelerar isso tudo aqui você copia esse texto todo que tá aqui embaixo dá um control c aí abre lá um bloco de notas e aí bota aqui no bloco de notas esse código inteiro e aí dá um contra o f para procurar aqui GPT E aí tá vendo ele encontrou GPT GPT encontrou aqui ó esse aqui é o cara que a gente vai usar no momento que eu tô gravando esse vídeo o modelo do chat GPT é o GPT 3. 5 tá E aí se você olhar aqui esse GPT 3.
5 que até procurar ele você vai ver que você tem o GPT 3. 5 esse Turbo aqui e gpt3. Turbo normal confesso que eu não testei todos eles eu só usei o GPT 3.
5 Turbo normal esse aqui tá vendo Então esse é o cara que eu vou usar nesse vídeo se no momento que você estiver assistindo vídeo Se tiver outro GPT aqui gpt4 GPT 5 que seja pode usar ele control c copiei esse ID aqui e aí o ID do modelo que a gente vai usar vai ser esse cara daqui GPT 3. 5 Turbo então foi para isso que eu fiz a primeira requisição para mostrar para vocês como que funciona as requisições que elas funcionam no modelo de requisição padrão do Python enfim da linguagem de programação que você esteja utilizando e para a gente descobrir como que a gente faz para usar a Penha especificamente do chat de PT que é essa daqui agora vamos olhar Como que essa p. i funciona então a gente vai chegar lá na documentação da Penha do chat PT e a gente vai procurar Justamente esse modelo E aí esse modelo do chat GPT é justamente o modelo de chat Então vou entrar aqui no modelo de chat que a gente quer fazer e a gente vai pegar esse cara daqui ó o Apple esse cara daqui que tem um chat GPT tanto que se você olhar aqui nos exemplos dele ele dá um exemplo com um GPT 3.
5 Turbo que é aquele mesmo cara que eu tô usando aqui agora no momento que eu gravo esse vídeo Pode ser que no momento que você olha o site aqui esteja outro exemplo mas olha só o que que você precisa fazer para ele funcionar ele explica aqui para você você precisa fazer uma requisição do tipo post essa é a primeira coisa então vamos lá no nosso código e agora a gente já sabe que a gente vai querer usar esse modelo daqui então lá depois do nosso link eu vou definir esse modelo e a gente vai mudar a requisição que a gente vai fazer então a requisição ao invés de ser um Harry Quest do tipo get ela vai ser do tipo post e o link a gente vai ter que mudar também porque ele fala que o link que a gente tem que fazer requisição é esse link daqui então control c e vou mudar o link para esse aqui que é o link que a gente vai fazer requisição Beleza agora repara o seguinte sempre que você faz uma requisição do tipo post Você tem algum parâmetro que é obrigatório você mandar e se você olhar ele fala aqui ó quem tem que ser o seu recreast bare ou seja quais tem que ser as informações que você vai mandar na sua requisição para dizer o que que você quer fazer nessa requisição E ele fala Obrigatoriamente tem que me dizer qual é o modelo que você tá usando que é justamente o ID do modelo que a gente copiou e também você tem que me dizer quais são as mensagens e ele dá um exemplo aqui do lado olha só você pode copiar esse dicionário que ele dá aqui do lado copiei aqui esse dicionário Olha só ele é um modelo o modelo que você tá usando e o Messenger que são as mensagens que você tá mandando e olha lá e a mensagem é sempre assim ó Row ou seja quem é que tá mandando a mensagem é o usuário a gente e o contente Qual é o texto da mensagem aqui o texto da mensagem que você tá mandando então na prática O que que você precisa fazer você precisa criar aqui uma variável que vai ser por exemplo eu vou criar uma variável aqui que vai ser o body da mensagem bota aqui Body mensagem que ela vai ser um dicionário onde dentro desse dicionário a gente vai passar essas duas informações o Model e o Messenger tá vendo que são as duas informações que são requisitos o modo remessas você poderia passar outras informações sim o temperatu o top p o n e assim vai a gente já discute sobre elas mais para frente então vou passar aqui o Model beleza e depois que a gente passar o modo a gente vai passar também aqui as mensagens né que é o Messenger no plural mesmo tá então Messenger no plural beleza e E como que vai funcionar o modo que a gente vai passar aqui é justamente o ID do modelo que a gente está passando é esse modelo aqui dos chat GPT show de bola e as mensagens que a gente tá mandando as mensagens são aqui olha o modelo que ele pede olha e o formato do chat se você abrir esse link aqui ele vai mostrar para você o formato do chat Olha lá é uma lista de mensagens em que cada mensagem é um dicionário dizendo quem tá mandando a mensagem um rolo e qual é a mensagem no nosso caso eu só quero mandar uma mensagem ele vai mandar uma resposta então aqui na mensagem que que eu vou fazer eu vou aqui mandar uma única mensagem do criar um dicionário né porque cada mensagem é um dicionário onde o meu Row vai ser o user que é a gente que tá mandando mensagem pro chat GPT e o content antes da mensagem é a mensagem que você quer mandar para o chat GPT ou seja o que que você quer que o chat GPT faça para você e aí aqui eu posso por exemplo Digamos que está querendo usar o chat GPT um programa seu para enviar e-mail automaticamente você quer criar um programa e que o seu chefe pede alguma coisa você pede simplesmente para o seu programa executar aquela coisa e mandar um e-mail automaticamente para o seu chefe então aqui no contexto você vai mandar o print do chat PT ou seja o que que você escreveria para o chat GBT para ele te dar uma resposta eu vou escrever por exemplo em português mesmo Escreva um e-mail para o meu chefe dizendo a previsão do preço do dólar nos próximos dois meses vou fazer esse pedido aqui para o chat GPT vamos ver se ele consegue fazer isso daqui né E vamos ver qual a resposta que ele dá para a gente e aí a gente então a gente tá fazendo essa requisição para o chat GPT só que repara a gente criou esse body da mensagem É só isso que ele precisa fazer na mensagem só que lembra que eu falei para vocês que essa comunicação que você faz com api ela tem que ser por meio de Jason como lá tem que ser por meio de um Jason você tem que transformar esse dicionário Python padrão num Jason quando você tem um dicionário Python padrão né Ele é transformado num Jason basicamente colocando as pás antes aspas depois colocando todos os itens entre aspas e assim vai só para você não tem que fazer isso individualmente a gente precisa saber biblioteca do Jason e a gente faz assim o body da mensagem vai ser um Jason um ponto dance tá vendo no plural mesmo passando para ele o body da mensagem que que ele vai fazer ele basicamente vai pegar esse dicionário pai então aqui que é esse borda da mensagem que vai vai meio que dessonificar ele né jasonificar ele ou seja transformar ele num Jason normal E aí repara o seguinte agora você tem que passar esse body da mensagem para sua requisição para ela funcionar Então você tem que chegar aqui e passar para ele o parâmetro da igual a um body da mensagem que você estava passando então os dados que você envia nessa requisição é esse baile da mensagem aqui e agora se eu pegar e rodar esse código você vai ver que ele vai demorar um pouco mais para fazer tá vendo demorou um pouco mais para fazer e ele me deu um erro eu fiz aqui a requisição e ele falou opa tem alguma coisa inválida na sua requisição aqui que não tá me deixando ele não tá deixando ele funcionar tem alguma coisa aqui que tá errada e aí o porquê que isso tá acontecendo porque quando você repara o seguinte na requisição do tipo get ela funciona numa boa mas quando você faz uma requisição do tipo post e você envia uma informação né Eu falei para vocês api ela pede que essa informação seja em formato de Jason mas na verdade existem alguns formatos diferentes que você pode mandar para uma API nesse caso a gente tá usando o formato de Ison porque ele é um dos formatos mais padrões de uso né de comunicação e porque ele é prático de usar você queria um dicionário e transforma em Jason só que quando você faz isso aqui no headers além de passar a sua autorização você tem que dizer para ele um outro parâmetro esse parâmetro é o contente traço Type escrito exatamente assim ó contanto Strike vai ser um application barra Jason o que que é isso daqui diz diz que a informação que a gente vai enviar para ele vai ser no formato Jason e aí esse erro que ele tava dando para gente olha ele não tava reconhecendo Olha lá e o must previne mother ou seja ele não tá reconhecendo que está mandando esse modelo para ele ele não tá reconhecendo as informações que está mandando para ele agora quando você passar esse essa variável aqui né dentro do headers agora quando você fizer a requisição você vai dizer que tá mandando um Jason para ele vai mandar o Jason e aí quando você rodar o código agora ele vai tá vendo que ele tá demorando muito mais do que a primeira requisição porque agora tá calculando essa resposta e ele vai mandar essa resposta para a gente aqui automaticamente Pode ser que ele demore alguns segundos mesmo obviamente dependendo da velocidade da sua internet da quantidade que você está fazendo em paralelo você vai demorar mais vai demorar menos mais repara que essa resposta que vem para você vem também no formato Jason e ele diz a qual ID da sua resposta qual foi o objeto que ele respondeu qual foi a data criada com o modelo que ele usou para criar e assim vai tá vendo Então ele vai passando várias informações para você aqui dentro e aí se você olhar uma dessas informações aqui é esse choices tá vendo esse Choice são as escolhas que o chat é pt fez ou seja ele é uma lista que contém um dicionário tá vendo que tem a sua mensagem e a mensagem do chat GPT que é o exemplo de e-mail apesar do Chefe espera que essa mensagem encontre bem olha lá que legal ele já manda um e-mail inteiro aqui recentemente fez algumas pesquisas sobre a previsão de preço dólar nos próximos dois meses eu gostaria de compartilhar as informações coletei já conta com especialistas financeira a provisão do dólar continua se valorizar em relação a moeda local alguns fatores que podem tá vendo completar agora como que eu vou fazer para extrair essa informação que vem assim nesse formato se vocês olha ela em formato de texto Isso aqui vai ser ruim para você conseguir extrair dali de dentro Então o que que a gente vai fazer a gente vai fazer assim ó a resposta do chat GPT vai ser a requisição ponto Jason o que que o requisição ponto Jason faz justamente o processo contrário que esse Jason damps aqui faz esse Jason Dantas ele pega isso daqui e transforma num texto formatado em Jason esse requisição ele vai pegar esse texto aqui isso aqui é um texto e transformar num dicionário Python Então agora você consegue pegar as informações desse dicionário pai então por exemplo quem a gente quer pegar aqui a gente quer pegar a resposta a resposta dentro desse item Choice tá vendo Então eu vou pegar aqui eu vou dizer que a mensagem que ele me deu como resposta vai ser a minha variável resposta esse cara aqui que é um dicionário pegando o item choices dele que é esse item daqui só que repara esse itens é uma lista eu não quero pegar a lista inteira eu quero pegar só o primeiro item dessa lista então eu vou pegar o primeiro item dessa lista tá vendo esse choices aqui é essa lista o primeiro item da lista choices é esse esse dicionário daqui desse dicionário a gente quer pegar qual foi a mensagem que ele mandou desse dicionário eu quero pegar qual foi a mensagem que ele mandou Messenger que ele mandou tá vendo e aí e a mensagem que ele mandou também é um dicionário Se você olhar aqui tá vendo que ela também é um dicionário onde eu tenho o rolo e eu tenho contants que é o texto que ele escreveu eu quero pegar o contente então isso daqui é a mensagem de resposta do chat gpp que a gente foi tratando dentro desse dicionário daqui um dicionário pai você vai navegando dentro dele igual a gente fez aqui em cima porque se eu chegar agora e pintar essa mensagem vamos rodar o código de novo e aí direto tudo certo eu vou até não printar mais a minha requisição eu vou printar só a mensagem como resposta que ele me deu Então vamos rodar e ver se isso aqui vai dar certo peguei rodei o código Olha lá rodei tururu ele vai demorar alguns segundos fazendo essa requisição mas ele vai responder aqui com chat GPT e se tudo der certo ele já vai aparecer aqui para mim o e-mail bonitinho da resposta lá do chat GPT olha lá tá lá apareceu bonitinho prezado chefe espero que essa mensagem encontre bem Gostaria de compartilhar com você a previsão do dólar já Conte com especialistas não sei que não sei Aquela não sei quê não sei que lá e você tá lá com um e-mail que você mandou para o seu chefe beleza e aí galera você pode agora mudar isso aqui para adaptar para o que você quiser mas Repara você só precisa alterar aqui o seu nome no nome e ao invés de botar pesado o chefe substituir chefe pelo nome do seu chefe E aí você tem um e-mail pronto para você então galera é assim que a gente vai usando api do chat GPT E aí você pode rebuscar isso tornar isso mais complexo mais simples integrais aqui com efetivamente um disparo de meio automático para isso efetivamente cair na caixa de entrada do seu chefe e assim vai você consegue integrar isso com uma série de coisas tem vídeo aqui no canal ensinando por exemplo a enviar e-mail automaticamente vou deixar também aqui na descrição para vocês poderem pegar e se quiser integrar isso aqui com envio de e-mail já automático por e-mail já sair direto para vocês simplesmente rodando essa requisição lá e aí as possibilidades galera como se devem imaginar são infinitas eu queria mostrar para vocês aqui como que vocês do chat GPT com um exemplo específico daqui para frente vocês sabem que vocês vão ter lá na própria p.