ChatGPT-to-Speech: como criar um Podcast baseado em IA com Python | Daniel Davis | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

ChatGPT-to-Speech: como criar um Podcast baseado em IA com Python

teacher avatar Daniel Davis, Making tech & photography easy

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Boas-vindas

      1:56

    • 2.

      Montagem

      6:11

    • 3.

      Variáveis do ambiente

      4:06

    • 4.

      Grabbing conteúdo RSS

      6:06

    • 5.

      Usando ChatGPT

      5:41

    • 6.

      Convertendo em áudio

      10:11

    • 7.

      Tweaking Settings

      5:30

    • 8.

      Resumo

      1:47

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

251

Estudantes

--

Projeto

Sobre este curso

Você está interessado em aprender como criar um gerador de podcast baseado em IA para converter manchetes de notícias em arquivos de áudio que podem ser publicados como podcasts? Se sim, este curso é perfeito para você!

Neste curso, você aprenderá como usar Python com as APIs do ChatGPT e ElevenLabs para desenvolver um gerador de podcast automatizado que pode converter notícias de forma rápida e fácil em arquivos de áudio falados de alta qualidade. O conteúdo é fácil de seguir com explicações claras.

As habilidades que você aprenderá incluem:

  • Usando Python para obter conteúdo de um feed RSS

  • Gerando texto semelhante a humanos usando a API ChatGPT

  • Convertendo texto para fala usando a API ElevenLabs

  • Criando um arquivo de áudio MP3 da saída de texto para fala

No final deste curso, você terá uma compreensão de como usar APIs online para criar aplicativos alimentados por IA, bem como a capacidade de criar um gerador de podcast funcional do zero. Você pode então enviar os arquivos de áudio resultantes para um serviço de podcast ou adaptar o programa para gerar outras formas de conteúdo, como imagens ou vídeo.

Quer você seja um iniciante ou um programador experiente, este curso foi projetado para ajudar você a desenvolver as habilidades que você precisa para criar seus próprios aplicativos baseados em IA. Então, por que esperar? Faça o curso agora e comece a criar seu próprio gerador de podcast hoje!

Conheça seu professor

Teacher Profile Image

Daniel Davis

Making tech & photography easy

Professor


Born in the UK and now living in Japan, I'm a programmer/web developer and a long-time amateur photographer.

Having taught English and computing in the past, I'm building on my experiences to teach subjects where I feel I can help others, concentrating on making technical and creative processes as easy as possible.

My other interests include baking, anything tech-related, and sitting on the sofa strumming a ukulele. 

 

 

Visualizar o perfil completo

Level: All Levels

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Boas-vindas: Olá e bem-vindo a este curso em vídeo sobre como criar um podcast gerado por IA a partir de manchetes de notícias usando Python, a API GPT de bate-papo e a API 11 labs, que são os três. Meu nome é Daniel e tenho mais de 20 anos de experiência em programação e desenvolvimento web. Ao final deste curso, você poderá gerar automaticamente um arquivo de áudio MP3 a partir de um feed RSS de notícias, que poderá usar para criar seu próprio podcast. Você também aprenderá a integrar inteligência artificial e um serviço de conversão de texto em voz em seu código. Algumas dessas habilidades específicas que você aprenderá incluem o uso de Python para obter conteúdo de um feed RSS, gerando textos semelhantes aos humanos usando a API GBT de bate-papo. Convertendo texto em fala usando a API 11 labs. Criação de um arquivo de áudio MP3 da saída de texto para voz. O curso foi desenvolvido para ser de nível iniciante ou intermediário e não é necessária experiência em Python ou IA. Examinaremos cada etapa com explicações claras para que você possa entender como personalizar o código, se desejar. Ao final do curso, você terá trabalhado em um projeto do mundo real que poderá mostrar a potenciais empregadores ou usar a base para um podcast. Ou você entenderá como incorporar a IA em outros projetos seus. O aluno ideal para este curso é alguém interessado em aprender sobre Python, sobre IA e outras APIs de terceiros. E quem quer saber como automatizar a criação de conteúdo, como com um podcast. É para você. Se você é blogueiro, jornalista, criador de conteúdo ou amador que só quer brincar com as tecnologias mais recentes. Então, obrigado por considerar este curso. Espero ver você lá dentro. 2. Montagem: Ok, vamos falar sobre isso. Mas antes de realmente começarmos a programar, há três coisas que precisamos configurar. Python e os vários pacotes de que precisamos. E uma conta OpenAI e chave de API e uma conta de 11 laboratórios e uma chave de API. Então, primeiro, o Python, espero que você já o tenha instalado e verifique se pode digitar Python no terminal. E deve mostrar o que você instalou. Aqui. Está dizendo que eu tenho o 0.7 instalado. E, na verdade, queremos o Python três. Estou em um Mac e, na verdade, ele tem duas versões do Python instaladas. Então, para especificar o Python três, preciso digitar Python três. Acho que para Windows, apenas Python. Ficaremos bem se você tiver o Python 3 instalado. De qualquer forma, vamos sair do prompt do Python e tentar novamente com o Python três, ok? E diz que eu tenho o Python 3.10 instalado, o que é bom. Então, qualquer uma dessas opções que funcione para você, Python ou Python 3, use isso como comando para o resto do curso. Estou saindo do prompt do Python novamente. E agora precisamos ter certeza de que temos os vários módulos e pacotes de que precisamos. Eu tentei facilitar isso criando um arquivo requirements.txt, e ele deve estar nos recursos deste curso. Então, coloque-o no diretório em que você está trabalhando atualmente. Agora eu criei uma pasta de projeto chamada AI podcast creator. Vamos dar uma olhada no que está dentro disso. Lá vamos nós. Apenas requirements.txt. Isso é tudo o que está lá no momento. Então, tudo bem. Vamos usar isso com o pip, que é um instalador do Python, para pegar automaticamente esses pacotes. A maneira como fazemos isso é com o comando pip. Se você precisar digitar Python 3 em seu sistema, então aqui você deve digitar pip3, instalar o hífen r e o nome do arquivo de requisitos. Portanto, os requisitos não são apresentadores de TXT. E ele lerá esse arquivo requirements.txt e baixará e instalará automaticamente esses pacotes. Eu já os tenho instalados para você. Pode levar alguns segundos para baixá-los e instalá-los, se faltar algum, mas você deve estar pronto para começar. Portanto, a próxima etapa é o OpenAI e 11 laboratórios, contas e chaves de API. E para isso, precisamos passar para o navegador. Ok, aqui no navegador, se você pesquisar pela API OpenAI, poderá obter vários guias , explicações e outras coisas, mas o que precisamos é da própria plataforma. Então platform.openai.com. Se você ainda não tem uma conta, crie uma e o plano gratuito é bom. Se você tiver uma conta, é aqui que você precisa fazer login. Depois de fazer login, você recebe vários tokens, muitos créditos para usar, e isso será suficiente para nosso programa aqui. Não precisamos nos preocupar em pagar nada, mas precisamos pegar a chave da API. Então, vá até o menu da conta e procure o item Exibir chaves da API. Eu já criei uma, a sua pode estar vazia aqui Nesse caso, clique no botão Criar nova chave secreta. E isso mostrará sua chave de API. Só uma vez, essa é a única vez que vai aparecer na tela. Então você precisa fazer uma cópia agora, caso contrário, você a perderá. Mas se você perdê-lo, você também pode regenerar outro. Então, não é realmente um grande problema, de qualquer maneira. Queremos copiar isso. E vamos colocar isso em um arquivo de variáveis de ambiente. Então, precisamos voltar para o terminal para criar isso. De volta ao terminal, temos a chave da API OpenAI em nossa área de transferência, mas precisamos criar um arquivo para armazená-lo. E vamos criar um arquivo especial chamado arquivo de variáveis de ambiente, também conhecido como ponto ou ponto ENV. Queremos criar esse arquivo de texto básico. Vou usar o editor de texto Nano aqui, mas você pode usar qualquer editor de texto que quiser, nano, e é ponto d e v. Por favor, use esse nome. Pressione Enter. E criou esse arquivo vazio. E aqui eu vou colocar um nome de variável e depois colar a chave da API. Portanto, o nome da variável, vou usar chave da API Open AI, então é igual sem espaço. E então aqui vou colar a chave da API do OpenAI. Bom. Vou deixar isso aberto porque voltaremos a isso em um minuto depois de obtermos a chave da API 11 labs, que está novamente de volta no navegador. Semelhante ao anterior. No beta dot 11 labs dot io. Por favor, crie uma conta. Se você ainda não tiver um. Se você tiver uma conta, faça login aqui. Depois de fazer login, precisamos ir até o menu da conta e, desta vez, clicamos no perfil. Agora não podemos ver a chave da API aqui, então precisamos clicar no botão I e isso a torna visível. Podemos ver isso sempre que você pode regenerar um novo, a qualquer momento, como antes. Vamos copiar e colar isso e voltar para o terminal. Esse arquivo DOT ENV ainda está aberto, o que é bom. Então, precisamos criar uma nova linha. E desta vez vamos usar o mesmo formato, mas vamos chamá-lo de 11 laboratórios. A chave Api é igual a nenhum espaço. E, novamente, colamos a chave da API lá. É tudo o que precisamos para esse arquivo. Assim, podemos salvar e sair desse arquivo. Se você estiver usando o Nano aqui, então você faz o Control X. E isso solicitará que você o salve. Sim. E fechamos o arquivo e voltamos ao terminal. Portanto, temos nossas chaves de API prontas e armazenadas em um arquivo ENV de pontos. Vamos acessar isso com Python. Temos todos os módulos do Python instalados. Estamos prontos para começar a programar. 3. Variáveis do ambiente: Agora, para a diversão, a programação, e eu tenho um arquivo Python vazio aqui, que chamei de criar podcasts dot p-y. Eu me certifiquei de que está na mesma pasta do arquivo dot ENV no qual salvamos as chaves da API anteriormente. Então, eles estão na mesma pasta dentro deste programa. Vou dividi-lo em pedaços. E esse primeiro trecho será um pequeno código que pegará essas chaves de API e as imprimirá na tela para garantir que funcionou. E então vamos usá-los nas outras seções. Então, vamos nos concentrar nisso primeiro. Para fazer isso, precisamos primeiro importar alguns módulos. E precisamos de três para esta seção. Portanto, o primeiro é um módulo feito especificamente para lidar com as variáveis de ambiente, as chaves de API do ponto n, que é o nome do módulo. E vamos importar apenas uma parte dela, que é chamada de carga. E vamos usar esse método. A próxima coisa que precisamos importar é o módulo de sistema operacional embutido. E, finalmente, tudo já deve estar instalado para você. É chamado de Open AI, módulo OpenAI. Depois de importar esses módulos, a primeira coisa que faremos é executar a função de carregamento e isso meio que a preparará para pegar as chaves da API. Isso é super fácil. É só um monte de colchetes. Em seguida, precisamos nos preparar para armazenar temporariamente a chave da API dentro do programa. E o módulo OpenAI tem uma propriedade específica para isso. Então, ele usará isso com o Open AI. E, em seguida, a propriedade da chave da API. E atribuímos isso à chave da API em nosso arquivo de variáveis. E aqui é onde podemos usar o módulo do sistema operacional para pegar esse sistema operacional. E tente lembrar o nome da variável que usamos anteriormente. E tenho certeza de que era uma chave de API de IA aberta. Ok, agora podemos fazer a mesma coisa em 11 laboratórios. Desta vez, não temos um módulo de 11 laboratórios, então criaremos nossa própria variável, chamando-a de chave de API de 11 laboratórios. E, novamente, isso é igual a OS dot get the environment variable. E é chamada de chave de API ao vivo e de laboratório. Isso deve ser tudo o que precisamos apenas para pegar as chaves da API. A razão pela qual estamos fazendo isso, em vez de codificá-los no programa, é que, se compartilharmos esse programa, esse código no GitHub ou em qualquer outro lugar, as pessoas poderão ver as pessoas poderão ver como as chaves de API estão aqui. E não queremos que eles devam ser privados, isso deveria ser secreto. Nós os armazenamos em um arquivo de variável de ambiente local, que permanecerá em nossa máquina. Mas então podemos compartilhar esse código livremente e as chaves da API permanecerão secretas. Vamos garantir que isso funcione imprimindo as chaves de API nos terminais. Portanto, imprima a chave da API ai dot aberta e a chave da API sublinhada dos laboratórios de impressão. Uma pequena diferença entre os dois, certo? Vou salvar isso e vamos até o terminal e executá-lo. Aqui no terminal, vamos executar o programa digitando Python. Python pode ser suficiente para você. No meu caso, preciso digitar Python three e depois o nome do arquivo. Então, é criar podcasts dot p-y, pressione Enter. E isso funciona. Ele imprime as chaves de API que armazenamos no arquivo de variáveis de ambiente. Perfeito, isso significa que estamos prontos para passar para a próxima parte, que é, na verdade, pegar conteúdo e fazer com que a IA brinque com ele. 4. Agarrar conteúdo RSS: Vamos desenvolver nosso programa um pouco mais do que isso, mas antes de tudo, quero remover essas linhas que imprimem as chaves da API. Não precisamos deles. Então, vamos nos livrar disso. O que eu preciso, porém, é de um feed RSS, porque vou pegar as manchetes de um feed RSS e usá-las como entrada para o bate-papo GBT até o navegador. E eu já tenho um feed RSS preparado. Eu moro no Japão, então estou usando um dos tempos do Japão, as manchetes de notícias. E eu só quero ressaltar que o feed RSS consiste em vários itens e cada um tem o título, tem uma descrição, também tem vários outros elementos, mas vou ficar com o título e a descrição e combiná-los como resumo da notícia para o chat GPT. Então, eu só preciso do URL desse feed e praticamente qualquer feed RSS deve servir. E vou voltar ao nosso programa. E vamos fazer com que uma nova variável para esse feed de notícias seja igual a esse URL. Gosto de manter essas variáveis no topo do programa para que qualquer pessoa possa entrar e alterar o RS. Feed Rss facilmente mais tarde sem precisar percorrer todo o código. Em seguida, quero trabalhar para realmente capturar o conteúdo. E antes de fazer isso, vou imprimir algo no terminal aqui que diz que agora estamos processando o feed RSS. Em seguida, imprimirei os estágios das diferentes partes à medida que escrevemos o programa, para das diferentes partes à medida que escrevemos que, quando executarmos o programa, saibamos em qual parte está sendo trabalhada a qualquer momento. Também podemos ver quando ele falha, quando há erros, podemos ver em qual bit esses erros. Então, vamos, para nosso próprio bem, imprimir. Estou avaliando o feed RSS, certo? E para fazer isso, precisamos de um módulo muito bom chamado analisador de feeds, o que tornará tudo muito fácil para nós. Então, nós o importamos como fizemos antes. Importar um par de alimentação. Bom. E isso significa que, em apenas algumas linhas, podemos pegar esse conteúdo do feed RSS. Agora, vamos atribuir a saída do processamento do analisador de feed a uma nova variável chamada feed. Por isso, usamos o analisador de feeds aqui. Parser, e usamos um de seus métodos chamado pass. E o argumento para isso é o URL dos feeds RSS. Então, isso é apenas um feed de notícias que preparamos anteriormente. Quando pegamos o feed, não podemos fornecer várias informações facilmente para conversar com o DBT, o que realmente queremos é um pouco de conteúdo. Então, eu vou ter uma variável vazia. Vou fazer um por minuto. E então com cada notícia, vou acrescentar o novo resumo a ela. Então, no final, teremos uma variável que contém todos os resumos de notícias unidos. São histórias novas. Então, vou chamar uma história variável e isso é apenas uma vontade vazia para começar. O feed RSS que eles usam, acho que tem cerca de 30 itens e não quero muitos. Eu quero que os podcasts sejam bem curtos. Então, vou limitá-lo a dez e criarei outra variável para usar mais tarde. Então, histórias, vamos chamá-las de limite de histórias igual a dez. Ok, agora estamos prontos para percorrer o objeto de feed, que deve conter todos os dados do feed RSS . Para dar uma olhada. Vamos criar um loop for. E vamos chamar cada item no item do feed RSS porque é para isso que serve o item no objeto do feed. E há uma propriedade chamada entradas. Agora isso por si só é suficiente para pegar todos os itens. Mas, como mencionei, quero limitá-lo aos dez primeiros. Portanto, podemos usar uma abreviatura inteligente de Python aqui e usar os colchetes. E então usaremos esse limite de armazenamento aqui depois de dois pontos. Então, códon e depois dez ou limite de armazenamento, e depois dois pontos no final porque é um for-loop. E isso truncará automaticamente todos os itens até os dez primeiros. Dentro de cada iteração do loop. Vamos fazer com que a loja vazia seja variável. Então, histórias são iguais a histórias mais, porque estamos anexando dados a elas todas as vezes. E como estamos anexando todas essas novas histórias em uma sequência, quero deixar absolutamente claro que devemos conversar com o GBT quando uma nova história começar. Então, vamos ter uma nova história, o começo de cada uma. E então os itens no feed RSS têm um elemento de título e um elemento de descrição. Então, vamos pegá-los fazendo o título do ponto do item. Coloque um ponto final depois disso. E então pegaremos a descrição do item. E isso deve ser o suficiente para a passagem do feed RSS. Quero ter certeza de que funciona. Então, vou imprimir a variável histórias. Depois que tudo for adicionado, vamos garantir que funcione indo até o terminal e executando o programa. Então, estou salvando esse arquivo no terminal. E como antes, Python ou Python três. E o nome do apresentador do arquivo. Cruze seus dedos. Isso foi rápido. Lá vamos nós. Ele pegou o feed RSS e combinou tudo em uma longa sequência. Isso é perfeito como entrada para o GPT, o que faremos a seguir. 5. Usando o ChatGPT: Certo, estamos indo bem. Temos o conteúdo dos feeds RSS, então vamos começar a conversar com o GPT. Vou deletar essa linha de impressão lá. Não precisamos mais imprimir a variável stories, mas vou adicionar uma linha que imprime a próxima etapa do processamento. Então, vamos dizer processamento de bate-papo, GPT. Com este, vamos usar o módulo OpenAI que já importamos. Portanto, não há novos módulos para importar. Para usar isso, precisamos atribuir o resultado ou a saída do bate-papo GPT em uma variável. Então, vamos chamar isso de bate-papo. Vou dizer que isso será do módulo Open AI. E há um serviço chamado conclusão de bate-papo. Eles têm outros serviços, como geração de imagens, coisas assim. Mas estamos usando um bate-papo por texto aqui. E dentro disso existe um método de criação. O método create usa vários argumentos, mas precisa de pelo menos dois, e eles são modais. E espera pelas mensagens de vírgula. E as mensagens são , na verdade, uma matriz. Em primeiro lugar, com o modelo, isso pode especificar o modelo de IA que queremos usar. Provavelmente haverá muitas coisas para escolher no futuro. Mas, no momento, você praticamente tem o GPT 3.5 atualmente. Então, o hífen GPT 3.5 e existe um chamado turbo. E esse é o modelo de IA mais avançado disponível ao público. No futuro, isso provavelmente mudará. Portanto, fique de olho na documentação da API para descobrir quais são as melhores e mais recentes. Então, por enquanto, o modelo é o GPT 3.5 Turbo. E as mensagens são uma matriz de objetos. Cada objeto tem uma função e um conteúdo. E vamos usar apenas um objeto para mantê-lo simples. Então, queremos uma função porque é um objeto aqui, eu vou usar uma função e um conteúdo. O papel pode ser uma das três coisas. Um usuário, que é a função que realmente envia o comando ou as solicitações para o sistema TBT de bate-papo, que está meio que informando ao chat GPT o que ele é. Então, por exemplo, você é um assistente prestativo e educado, algo assim. E então o assistente é o terceiro jogador. E isso pode ser algum tipo de informação básica, por exemplo, se você estiver enviando um monte de dados, você poderia dizer que esses dados foram coletados e março de 2023, algo parecido. Não precisamos desse tipo de coisa. Vamos continuar com a única função do comando básico. E isso significa que a função será de usuário. O conteúdo é a solicitação real que enviemos um bate-papo GBT. Eu fiz várias tentativas e erros aqui, e criei um comando bem longo, então vou colá-lo para economizar tempo. E aí está. Reescreva as seguintes manchetes e resumos de notícias em uma forma de discussão , como se alguém estivesse falando sobre eles em um podcast. Como você pode ver, adicionei vários tipos de detalhes extras aqui porque tive que continuar ajustando-os para conseguir o que eu realmente queria. E, obviamente, você também pode ajustar isso ouvindo a saída. Então esse é o pedido. Mas, obviamente, precisamos incluir as manchetes das notícias em si. Então, no final dessa solicitação, vou apenas acrescentar a variável stories que obterá a saída do chat TBT. Mas também nos dará algumas outras coisas. E nós só queremos o conteúdo principal, a resposta central. Então, vamos extrair isso criando uma nova variável, o conteúdo do bate-papo. E vamos pegá-lo da saída de bate-papo que acabamos de criar. E dentro disso, haverá uma matriz de opções. E nós só queremos o primeiro item, zero item da matriz de opções, depois a mensagem e depois o conteúdo. Então, esse é o tipo de forma fixa que detalhamos para obter apenas o conteúdo que o DBT do bate-papo retorna. Deveria ser isso. Então, vamos ver se funcionou imprimindo-o no terminal como antes, imprimindo o conteúdo do bate-papo. E eu estou salvando isso e agora vou até o terminal e experimente. Vou executar o programa aqui. Mas antes de tudo, você pode ou não saber disso, mas se você pressionar a seta para cima no teclado no terminal, ela passará pelos comandos que você digitou anteriormente, para que você não precise digitá-los novamente. Então, acabei de pressionar algumas vezes e este é o que eu quero criar podcasts dot p-y, pressionar Enter e ele está executando o programa. E agora ele está tão longe, isso é bom. Então, agora é só esperar que o chat GBT retorne algo. Então vamos, demoramos alguns segundos, mas parece muito bom, sem erros. E só de ler isso, parece um conteúdo de podcasts melhor, meio bom . E eu sempre fico impressionado que ele tenha tirado isso das manchetes e depois possa convertê-lo em algo que parece bem natural. Então, o que precisamos fazer a seguir é converter isso em áudio usando a API 11 labs. 6. Convertendo em áudio: Bem, isso está indo bem até agora. Então, vamos passar para a próxima parte, que é realmente gerar a saída de áudio. E, como antes, vou imprimir uma linha para dizer o que está acontecendo. Então, processando áudio, algo assim. Ok, agora não há um módulo de 11 laboratórios para Python. Em vez disso, vamos usar algumas coisas. Vamos usar o módulo JSON porque vamos lidar com dados no formato JSON. E vamos importar um módulo de solicitações que lidará com o envio de solicitações de postagem pela Internet. Então, para importá-los, voltamos ao topo do programa, importamos JSON e depois importamos solicitações. Agora, quando lidamos com a API de 11 laboratórios, na verdade existem várias vozes que podemos usar. Portanto, precisamos especificar a voz que queremos especificando o ID de voz. Tudo isso está listado na documentação da API 11 labs. Então, eu não vou passar por isso aqui, mas eu já tenho um, já pronto. Então, vou adicionar isso primeiro a uma nova variável, e vamos chamá-la de ID de voz. E essa é a criança difícil de lembrar. Eu colei isso. Na verdade, é para um garoto americano chamado Rachel. E eu acho que parece muito natural. Então é por isso que eu vou com esse. Em seguida, queremos usar o módulo de solicitações para realmente enviar essa solicitação e obter a resposta. Para fazer isso, vamos ter uma nova variável para armazenar a saída na saída de áudio. Vamos usar o módulo de solicitações e na verdade, precisamos enviar dados de postagem. Então, postar é o método. E então há três argumentos que vamos usar no método post. O primeiro argumento para o método post é apenas o URL da API. É só uma corda, e eu a tenho na área de transferência, então cole isso. Mas também precisamos adicionar a ideia de voz da voz que queremos. Então, anexe o ID de voz. Os próximos dois argumentos são dados e cabeçalhos. Então, vamos lidar com os dados primeiro. E os dados estarão em formato adjacente. Então, os dados são iguais. E aqui usamos o módulo JSON. E tem um método chamado dumps, que aceita objetos adjacentes. Neste objeto, vamos colocar duas coisas, configurações de texto e voz. O texto é bem fácil porque já o preparamos. E essa é a saída do chat GBT. Então, é conteúdo de bate-papo. E depois as configurações de voz. Deixe-me mudar isso para cima. A página com configurações de voz é outro objeto com, no caso de 11 laboratórios, apenas duas configurações de como podemos controlar o tom ou a expressividade da voz. As duas configurações são estabilidade e aumento de similaridade. Em primeiro lugar, estabilidade. Ambos são valores 0-1. E estabilidade é o que parece. A voz soa bastante estável quando você tem um valor alto e muito mais expressiva quando você tem um valor baixo, vou defini-la em 0,2. Eu tentei algumas coisas e gostei bastante de 0.2. No vídeo a seguir, explicarei o que isso significa e demonstrarei um pouco como você pode alterar essas configurações. Mas antes de tudo, vamos ficar com 0,2 e depois aumentar a similaridade. Não achei que isso faça muita diferença. Então, vou ficar com zero para esse. Em seguida, passamos para o argumento headers dos cabeçalhos desse método de postagem. O terceiro argumento também é um objeto, e desta vez com três propriedades. O primeiro é o tipo de conteúdo, que será o aplicativo JSON, porque estamos enviando um objeto adjacente. Também estamos enviando uma chave de API. Essa é a próxima propriedade. Portanto, precisamos, neste caso, da chave de API de hífen x i. E não queremos digitá-la diretamente no programa aqui, mas tudo bem, porque já a temos como uma variável que criamos logo no início. Assim, podemos usar a chave de API de 11 lâmpadas que preparamos. E a terceira propriedade é o formato dos dados que queremos receber. E, na verdade, queremos formato de áudio. Então, podemos aceitar. E isso será audio slash mpeg, MP Zhe. Ok, isso é tudo que precisamos. Portanto, temos o método de postagem pronto para ser enviado. E o que precisamos fazer a seguir é lidar com a resposta com a saída que recebemos. Vou aumentar um pouco o código. E dentro da saída de 11 laboratórios, haverá uma coisa chamada código de status, que nos dirá se funcionou ou não. Então eu acho que é uma boa ideia pegar isso e desmarcar. Em primeiro lugar. Portanto, se a saída de áudio, que é o objeto e, dentro , a propriedade do código de status, se for igual a 200, significa que tudo funcionou. Então, vamos colocar um espaço reservado lá. Faça alguma coisa. Caso contrário, queremos imprimir algo para nos dizer que não funcionou. Então, vamos imprimir na tela uma mensagem da saída de áudio. Portanto, 11 lâmpadas incluirão uma mensagem de erro se houver algum problema. É isso que queremos imprimir. Então, saída de áudio, e essa é uma propriedade de texto. Então, se algo der errado, poderemos entender se é porque estamos sem créditos ou outra coisa. Descobri que 11 laboratórios usam alguns créditos muito rapidamente porque a geração de áudio é bastante intensa. De qualquer forma, isso é para o caso de algo dar errado, mas espero que tudo dê certo. Nesse caso, agora podemos, nesta linha de fazer algo, converter o áudio que recebemos em um arquivo de áudio, um arquivo mp3. Então, vamos usar o comando width com, e então vamos abrir um arquivo de áudio e chamá-lo test dot mp3. Você pode chamá-lo do que quiser e, se ele não existir, ele o criará automaticamente. Mas precisamos adicionar algumas bandeiras aqui. W e b. W significa certo, então está no modo de gravação. Podemos gravar conteúdo no arquivo MP3, e B significa que são dados binários, o arquivo binário. E então precisamos apenas atribuir um nome a esse arquivo de saída. Então, vamos chamá-lo de arquivo de saída. Com esse arquivo, vamos escrever o conteúdo do áudio que recebemos de 11 laboratórios. Então, com esse arquivo, arquivo de saída, certo, o que vamos escrever nele? Vamos escrever o conteúdo da saída de áudio. Então, saída de áudio, e isso tem uma propriedade de conteúdo. Isso deve ser tudo o que precisamos para criar o arquivo de áudio. Então, para finalizar, vamos imprimir mais uma linha informando que tudo está acabado versus incompleto ou algo parecido. Vou salvar esse arquivo. E agora, se a executarmos e cruzarmos os dedos, ela deve funcionar. Então, aqui no terminal mais uma vez, vou pressionar a seta para cima no meu teclado. Crie podcasts dot p-y. Vamos embora. Então, como antes, já está pegando as coisas no feed RSS. Isso é rápido. Agora está usando o chat GBT para converter isso em um tipo de estilo de discussão mais falante. Tem alguns textos que provavelmente não são idênticos ao texto que tínhamos antes, mas ainda parece muito bom. E agora isso será gravado, se você quiser, pela voz da IA e, esperançosamente salvo como um arquivo chamado Tech test dot mp3. Ok, acabou de terminar e não mostrou nenhuma mensagem de erro, o que é ótimo. Então, agora vamos até a pasta em que estamos trabalhando. Certo, há um arquivo chamado test dot mp3. Tem 1,2 mb, o que parece bom. Vamos jogar. Olá e bem-vindo ao podcast de hoje, onde discutiremos algumas das últimas notícias do Japão. Primeiro passo, funciona. Funciona. Espero que você possa ouvir que há duas vogais nenhum primeiro uso de armas nucleares é incrivelmente realista para mim. Estou muito impressionado. Podemos ver o conteúdo do terminal e ver a oportunidade de sair. Na verdade, ela está lendo isso. O Japão e a Coréia do Sul estão de olho em um pacote para mim. Sim, parece muito bom. Uau. Então, criamos nosso programa. Você deve se sentir muito orgulhoso de si mesmo, e isso funciona. Temos um arquivo de áudio, então é isso mesmo. Mas eu quero falar no próximo vídeo, apenas algumas maneiras de ajustar as configurações aqui para mudar a sensação, o tom ou a expressividade. Então, nos vemos no próximo vídeo. 7. Ajustes de tecelagem: Então, tudo funciona. Isso é ótimo. Mas eu só quero mostrar algumas maneiras pelas quais você pode controlar o que sai do bate-papo GBT e o áudio do bate-papo GPT primeiro. E para isso, eu realmente quero excluir a seção de áudio apenas temporariamente porque não quero desperdiçar créditos gerando áudio quando é a parte do DBT do bate-papo em que estou focando. Então, isso vai funcionar por enquanto. A função de criação que vimos anteriormente para o chat GBT precisa de pelo menos dois argumentos. Existem vários outros, e você pode ver a documentação da API para entender todos os diferentes argumentos que estão disponíveis para você. Mas o que tem o maior impacto que eu encontrei, sua temperatura. E você pode pensar nisso como criatividade. Vai de 0 a 2. Acho que o padrão é 1,0. Relativamente, nenhuma criatividade significa que você receberá praticamente a mesma ou quase a mesma resposta toda vez que executar o mesmo comando. Esse número alto, o máximo dois, nos dará muita criatividade. E é isso que eu quero mostrar aqui. Então, vamos usar uma temperatura de dois. Guarde isso. E vamos executar o comando novamente. Lá vamos nós. Oh, isso é muito criativo. Então, meio que começa, ok, bem-vindo à nossa aula de hoje, estamos discutindo blá, blá, blá. Mas, como você pode ver, à medida que avançamos cada vez mais, é apenas lixo. Então, isso é muito criativo. Portanto, você provavelmente nunca vai querer usar a temperatura como um valor de dois, o menor 10, como mencionei, isso provavelmente fornecerá uma saída muito mais estável e praticamente a mesma coisa todas as vezes. Depende do que você quer. Você pode ficar com essa saída previsível. O padrão que eu acho é absolutamente bom. Eu geralmente costumo deixar em branco. Eu não uso o argumento da temperatura a menos que eu queira controlar sua criatividade. Mas isso não ajuda muito. De qualquer forma, isso depende de você. Você pode brincar com isso. Vamos dar uma olhada nos controles de áudio agora. Para as configurações de áudio, há praticamente dois de estabilidade e similaridade que vimos anteriormente nas configurações de voz aumentos de estabilidade e similaridade que vimos anteriormente nas configurações de voz. Em primeiro lugar, aumento de similaridade. Isso é mais eficaz quando você tem uma voz personalizada e pode fazer isso. Acho que talvez você precise ter um plano pago com 11 lâmpadas, mas você pode fornecer amostras de voz e ele tentará criar uma voz de IA muito semelhante a essa. Portanto, você pode usar um aumento de similaridade para torná-lo muito semelhante ou menos semelhante. Se você estiver muito alto, acho que pode haver artefatos que comecem a aparecer. Descobri que não tem muito efeito quando usamos as vozes embutidas. Talvez um número maior pareça um pouco mais claro, mas há algum risco de artefatos surgirem de acordo com a documentação da API. Então, acabei de deixar em zero e está tudo bem. A configuração de estabilidade tem mais diferença. E é um pouco como sua configuração criativa de bate-papo DBT. Ele controla a expressividade da voz. Portanto, um número maior o torna mais estável. Na verdade, sou um pouco chato. E um número baixo é que a voz é muito expressiva. Agora, em vez de gerar e usar meus créditos, eu criei dois arquivos de teste. Portanto, é muito mais rápido ouvirmos a diferença entre essas duas configurações. Tenho alguns arquivos de amostra que preparei aqui. E vamos ouvir o primeiro vínculo com a máxima estabilidade possível de um. Olá. Esta é uma amostra da voz chamada Rachel de 11 laboratórios com uma configuração de estabilidade de um e uma configuração de aumento de similaridade de zero. Ok, parece muito bom, muito natural, mas também meio chato. Então, vamos tentar com uma configuração de estabilidade de zero, que é o mínimo. Olá. Esta é uma amostra da voz chamada Rachel de 11 laboratórios com a configuração de estabilidade de zero e uma configuração de aumento de similaridade de zero. Nossa, ela está muito animada com isso. Isso é possivelmente muito expressivo. Eu fiz isso com algumas amostras e descendo para zero. Vamos voltar ao programa por um segundo. Sim, a configuração de estabilidade de zero é realmente demais para mim. Eu gosto de 0,2. Já vi outras pessoas em fóruns de discussão recomendarem algo entre 0,2 e 0,4. Então, opte por eles e um aumento de similaridade. Você pode tentar brincar com isso, mas geralmente zero ou mesmo um vai ficar bem. Não há uma grande diferença. Então, essas são as maneiras de controlar a saída do Chen GBT e do áudio de 11 laboratórios. Só tome cuidado, pois o processamento de áudio é muito mais intenso. E, portanto, você usará seus 11 créditos de laboratório muito mais rápido do que os de bate-papo GBT. O que eu recomendo é que cada vez que você gera um novo arquivo de áudio, talvez faça uma cópia dele e mantenha um registro da estabilidade e das configurações de abuso de similaridade que você usou para que, se ele for sobrescrito, você ainda tenha essa cópia. Você pode se referir a ele como um arquivo de amostra no futuro. De qualquer forma, acho que tudo o que nos resta agora foi recapitular o que aprendemos. 8. Resumo: Lá vamos nós. Agora você sabe como criar facilmente um podcast com inteligência artificial a partir de apenas manchetes de notícias. E esperamos ter aprendido muito ao longo do curso. Então, vamos recapitular rapidamente as habilidades específicas que abordamos. Usando Python para obter conteúdo de um feed RSS. Geração de textos semelhantes aos humanos usando a API GPT de bate-papo. Conversão de texto em fala usando a API 11 labs. Criação de um arquivo de áudio MP3 a partir da saída de texto em voz. Espero que você tenha gostado do curso e o tenha achado útil. Agora que você o concluiu, as habilidades que você aprendeu podem ser usadas para uma variedade de projetos diferentes no futuro. Obviamente, você pode gerar automaticamente arquivos de áudio diariamente ou semanalmente e, em seguida, enviá-los para o host de podcast de sua preferência. Alguns exemplos incluem bus sprout, simple cost ou transistor FM. Como alternativa, você pode usar o código que desenvolvemos para usar outros serviços on-line, como geração de imagens ou até mesmo geração de vídeo Deve ser muito fácil ajustar o código para usar uma variedade de APIs on-line. Finalmente, quero agradecer por se juntar a mim neste curso. Foi um prazer ensinar você e por favor, lembre-se de que a prática leva à perfeição. Portanto, continue aprimorando essas habilidades de codificação e crie projetos interessantes. E, o mais importante, divirta-se ao longo do caminho. Se você tiver algum comentário ou dúvida , sinta-se à vontade para deixá-los na seção de discussão. E se ainda não o fez, considere deixar uma avaliação para ajudar outros alunos a encontrar e se beneficiar desse curso. Então é isso para mim. E desejo a você tudo de bom em suas aventuras de programação.