ChatGPT à parole : comment créer un podcast axé sur l'IA avec Python | Daniel Davis | Skillshare

Vitesse de lecture


1.0x


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

ChatGPT à parole : comment créer un podcast axé sur l'IA avec Python

teacher avatar Daniel Davis, Making tech & photography easy

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Bienvenue

      1:56

    • 2.

      Mettre en place

      6:11

    • 3.

      Variables d'environnement

      4:06

    • 4.

      Saisie de contenu RSS

      6:06

    • 5.

      Utiliser ChatGPT

      5:41

    • 6.

      Connectez-vous en audio

      10:11

    • 7.

      Réglages d'ajustement

      5:30

    • 8.

      Conclusion

      1:47

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

251

apprenants

--

projet

À propos de ce cours

Êtes-vous intéressé par apprendre comment créer un générateur de podcast alimenté par l'IA pour transformer des titres d'actualité en fichiers audio qui peuvent être publiés sous forme de podcasts ? Si c'est le cas, ce cours est parfait pour vous !

Dans ce cours, vous apprendrez à utiliser Python avec les API ChatGPT et ElevenLabs pour développer un générateur de podcast automatisé qui peut rapidement et facilement transformer des titres d'actualité en fichiers audio parlés de haute qualité. Le contenu est facile à suivre avec des explications claires.

Les compétences que vous apprendrez comprennent :

  • Utiliser Python pour obtenir du contenu à partir d'un flux RSS

  • Générer un texte humain à l'aide de l'API ChatGPT

  • Transformer du texte en parole à l'aide de l'API ElevenLabs

  • Créer un fichier audio MP3 à partir de la sortie du texte-à-parole

À la fin de ce cours, vous aurez une compréhension de la façon d'utiliser les API en ligne pour créer des applications basées sur l'IA, ainsi que la capacité de créer un générateur de podcast fonctionnel à partir de zéro. Vous pouvez ensuite télécharger les fichiers audio obtenus vers un service de podcast, ou adapter le programme pour générer d'autres formes de contenu, comme des images ou des vidéos.

Que vous soyez débutant ou expérimenté, ce cours est conçu pour vous aider à développer les compétences dont vous avez besoin pour créer vos propres applications basées sur l'IA. Alors pourquoi attendre ? Suivez le cours maintenant et commencez à créer votre propre générateur de podcast dès aujourd'hui !

Rencontrez votre enseignant·e

Teacher Profile Image

Daniel Davis

Making tech & photography easy

Enseignant·e


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. 

 

 

Voir le profil complet

Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Bienvenue: Bonjour et bienvenue dans ce cours vidéo sur la création d'un podcast généré par l'IA à partir des gros titres de l' actualité à l'aide de Python, de l'API GPT chat et de l'API 11 labs , les trois. m'appelle Daniel et j'ai plus de 20 ans d' expérience en programmation et en développement Web. À la fin de ce cours, vous serez en mesure de générer automatiquement un fichier audio MP3 à partir d'un fil RSS d'actualités, que vous pourrez ensuite utiliser pour créer votre propre podcast. Vous aurez également appris à intégrer l'intelligence artificielle et un service de synthèse vocale dans votre code. Certaines de ces compétences spécifiques que vous allez acquérir incluent l'utilisation de Python pour obtenir du contenu à partir d'un flux RSS, génération de textes de type humain à l'aide de l'API chat GBT. Conversion de texte en parole à l'aide de l'API 11 labs. Création d'un fichier audio MP3 à partir de la sortie texte-parole. Le cours est conçu pour être de niveau débutant ou intermédiaire et aucune expérience en Python ou en IA n'est requise. Nous passerons en revue chaque étape avec des explications claires afin que vous puissiez ensuite comprendre comment personnaliser le code si vous le souhaitez. À la fin du cours, vous aurez travaillé sur un projet concret que vous pourriez montrer à employeurs potentiels ou qui pourrait servir de base à un podcast. Ou vous saurez comment intégrer l'IA à d'autres de vos projets. L'étudiant idéal pour ce cours est quelqu'un qui souhaite en savoir plus sur Python, IA et d'autres API tierces. Et qui veut savoir comment automatiser les créations de contenu, par exemple avec un podcast. C'est pour toi. Si vous êtes un blogueur, un journaliste, un créateur de contenu ou un amateur qui souhaite simplement jouer avec les dernières technologies. Merci donc d'avoir envisagé ce cours. J'espère te voir à l'intérieur. 2. Mettre en place: OK, allons-y. Mais avant de commencer à coder, il y a trois choses que nous devons configurer. Python et les différents packages dont nous avons besoin. Et un compte OpenAI et clé API, ainsi qu'un compte et une clé API pour 11 laboratoires. Donc, commencez par Python. J'espère que vous l' avez déjà installé et vérifiez que vous pouvez taper Python sur le terminal. Et il devrait vous montrer ce que vous avez installé. Ici. Cela veut dire que j' ai installé la version 0.7. Et en fait, nous voulons Python 3. Je suis sur un Mac et deux versions de Python sont en fait installées. Donc, pour spécifier Python trois, je dois taper Python trois. Je pense que pour Windows, juste Python. Tout ira bien si Python 3 est installé. Quoi qu'il en soit, quittons l'invite Python et réessayons avec Python 3, d'accord ? Et il dit que Python 3.10 est installé, ce qui est bien. Donc, quelle que soit la solution qui vous convient, Python ou Python 3, utilisez-la comme commande pour le reste du cours. Je quitte à nouveau l'invite Python. Maintenant, nous devons nous assurer que nous disposons des différents modules et packages dont nous avons besoin. J'ai essayé de vous faciliter la tâche en créant un fichier requirements.txt, devrait figurer dans les ressources de ce cours. Mettez-le donc dans le répertoire dans lequel vous travaillez actuellement. Maintenant, j'ai créé un dossier de projet appelé AI podcast creator. Regardons ce qu'il y a dedans. Nous y voilà. Juste requirements.txt. C'est tout ce qu'il y a dedans pour le moment. Donc c'est très bien. Nous allons l' utiliser avec pip, un programme d'installation Python, pour récupérer automatiquement ces packages. Pour ce faire, nous utilisons la commande pip. Si vous devez taper Python 3 sur votre système, vous devez saisir ici pip3, installer le tiret r et le nom du fichier d'exigences. Donc, exigences du présentateur dot TXT. Et il lira ce fichier requirements.txt et téléchargera et installera automatiquement ces packages. Je les ai déjà installés pour vous. téléchargement et l'installation peuvent prendre quelques secondes s' il en manque, mais vous devriez être prêt à partir. La prochaine étape concerne donc OpenAI et 11 laboratoires, comptes et clés d'API. Et pour cela, nous devons passer au navigateur. D'accord, ici, dans le navigateur, si vous recherchez l'API OpenAI, vous pouvez obtenir divers guides , explications, etc., mais ce dont nous avons besoin, c'est de la plate-forme elle-même. Donc platform.openai.com. Si vous n'avez pas encore de compte, créez-en un et le plan gratuit vous convient. Si vous avez un compte, c'est ici que vous devez vous connecter. Une fois connecté, vous recevez un tas de jetons, de crédits à utiliser, et ce sera suffisant pour notre programme ici. Nous n'avons pas à nous soucier de payer quoi que ce soit, mais nous devons récupérer la clé API. Accédez donc au menu du compte et recherchez l'élément Afficher les clés d'API. J'en ai déjà créé un, le vôtre est peut-être vide ici Dans ce cas, cliquez sur le bouton Créer une nouvelle clé secrète. Et cela affichera votre clé d'API. Une seule fois, c'est la seule fois où ça sera à l'écran. Vous devez donc en faire une copie maintenant, sinon vous la perdrez. Mais si vous le perdez, vous pouvez également en régénérer un autre. Ce n'est donc pas vraiment grave de toute façon. Nous voulons le copier. Et nous allons le mettre dans un fichier de variables d'environnement. Nous devons donc revenir au terminal pour le créer. De retour dans le terminal, nous avons la clé d'API OpenAI dans notre bloc-notes, mais nous devons créer un fichier pour la stocker. Et nous allons créer un fichier spécial appelé fichier de variables d'environnement, également connu sous le nom de point ou point ENV. Nous voulons créer ce fichier texte de base. Je vais utiliser l'éditeur de texte Nano ici, mais vous pouvez utiliser n'importe quel éditeur de texte de votre choix, nano, avec les points D et V. Veuillez utiliser ce nom. Appuyez sur Entrée. Et il a créé ce fichier vide. Et ici, je vais mettre un nom de variable , puis coller la clé API. Donc, le nom de la variable, je vais utiliser clé d'API Open AI, alors est égal, sans espace. Et puis ici, je vais coller la clé API d'OpenAI. Bien. Je vais laisser cela ouvert car nous y reviendrons dans une minute après avoir obtenu la clé d'API 11 labs, qui sera une minute après avoir obtenu la clé d'API 11 labs, de nouveau dans le navigateur. Comme avant. Chez Beta Dot 11 Labs Dot IO. Veuillez créer un compte. Si vous n'en avez pas déjà un. Si vous avez déjà un compte, connectez-vous ici. Une fois connecté, nous devons accéder au menu du compte, et cette fois, c'est sur le profil que nous cliquons. Maintenant, nous ne pouvons pas voir la clé API ici Nous devons donc cliquer sur le bouton I rendre visible. Nous pouvons le voir chaque fois que vous pouvez en régénérer un nouveau, à tout moment comme avant. Copions et collons cela et revenons au terminal. Ce fichier ENV à points est toujours ouvert, ce qui est une bonne chose. Nous devons donc créer une nouvelle ligne. Et cette fois, nous allons utiliser le même format, mais nous l'appellerons 11 laboratoires. La clé Api est égale à aucun espace. Et encore une fois, nous y collons la clé API. C'est tout ce dont nous avons besoin pour ce dossier. Nous pouvons donc enregistrer et quitter ce fichier. Si vous utilisez Nano ici, vous utilisez Control X. Et cela vous demandera de l'enregistrer. Oui. Et nous fermons le fichier et retournons au terminal. Nos clés d'API sont donc prêtes et stockées dans un fichier ENV à points. Nous allons y accéder avec Python. Tous les modules Python sont installés. Nous sommes prêts à commencer la programmation. 3. Variables d'environnement: Passons maintenant aux choses amusantes, à la programmation, et j'ai un fichier Python vide, que j'ai appelé create podcasts point p-y. Je me suis assuré qu'il se trouve dans le même dossier que le fichier point ENV dans lequel nous avons enregistré les clés d'API plus tôt. Ils se trouvent donc dans le même dossier au sein de ce programme. Je vais le découper en morceaux. Et ce premier morceau sera un bout de code qui récupérera ces clés d'API et les affichera simplement à l'écran pour s'assurer que cela fonctionne. Ensuite, nous les utiliserons dans les autres sections. Concentrons-nous donc d'abord là-dessus. Pour cela, nous devons tout d'abord importer certains modules. Et nous en avons besoin de trois pour cette section. Le premier est donc un module spécialement conçu pour gérer les variables d'environnement, les clés d'API à partir du point n, c'est le nom du module. Et nous n'allons en importer qu'une partie, appelée load. Et nous allons utiliser cette méthode. La prochaine chose que nous devons importer est le module intégré du système d'exploitation. Et enfin, tout devrait déjà être installé pour vous. Il s'appelle Open AI, module OpenAI. Une fois ces modules importés, la première chose à faire est d'exécuter la fonction de chargement et cela la préparera en quelque sorte à récupérer les clés d'API. C'est super facile. C'est juste plein de crochets. Ensuite, nous devons préparer un endroit où stocker temporairement la clé d'API dans le programme. Et le module OpenAI possède une propriété spécifique à cet effet. Il l'utilisera donc avec Open AI. Et puis la propriété de la clé API. Et nous attribuons cette clé d'API dans notre fichier variable. Et voici où nous pouvons utiliser le module OS pour récupérer ce système d'exploitation. Et essayez de vous souvenir du nom de la variable que nous avons utilisée plus tôt. Et je suis presque sûr que c' était une clé d'API AI ouverte. OK, maintenant nous pouvons faire la même chose pour 11 laboratoires. Cette fois, nous n'avons pas de module 11 laboratoires, nous allons donc simplement créer notre propre variable, l' appeler clé d'API 11 laboratoires. Et encore une fois, cela équivaut à OS dot get the environment variable. Et cela s'appelle Live and Lab API key. Cela devrait être tout ce dont nous avons besoin pour récupérer les clés d'API. La raison pour laquelle nous faisons cela plutôt que de les coder en dur dans le programme, c'est que si nous partageons ce programme, ce code sur GitHub ou ailleurs, les utilisateurs pourront voir comment se trouvent les clés d'API s'ils se trouvent ici. Et nous ne voulons pas qu'ils soient censés être privés, c'est censé être secret. Nous les stockons dans un fichier variable d' environnement local, qui restera sur notre machine. Mais nous pouvons ensuite partager librement ce code et les clés d'API restent secrètes. Assurons-nous que cela fonctionne en imprimant les clés d'API sur les terminaux. Imprimez donc la clé API Open Ai Dot et Print Labs souligne la clé API. Il y a une légère différence entre les deux, non ? Je vais enregistrer ceci et allons au terminal et exécutons-le. Ici, dans le terminal, nous allons exécuter le programme en tapant Python. Python pourrait vous suffire. Dans mon cas, je dois taper Python 3 puis le nom du fichier. Il s'agit donc de créer des podcasts point p-y, appuyez sur Entrée. Et ça marche. Il imprime les clés d'API que nous avons stockées dans le fichier de variables d'environnement. Parfait, cela signifie que nous sommes prêts à passer à la partie suivante, qui consiste à saisir du contenu et à faire en sorte que l'IA joue avec lui. 4. Saisir du contenu RSS: Développons notre programme un peu plus, mais tout d'abord, je veux supprimer ces lignes qui affichent les clés d'API. Nous n'en avons pas besoin. Nous allons donc nous en débarrasser. Ce dont j'ai besoin, c'est d'un fil RSS, car je vais prendre les gros titres d'actualité d'un fil RSS et les utiliser comme entrée pour le chat GBT sur le navigateur. Et j'ai déjà préparé un fil RSS. J'habite au Japon, donc j'utilise un article du Japan Times, les gros titres de l'actualité. Et je tiens juste à souligner que le fil RSS se compose de plusieurs éléments et que chacun possède un titre, une description une description et divers autres éléments, mais je vais simplement m'en tenir au titre et à la description et les combiner pour former le résumé de l' actualité pour le chat GPT. J'ai donc juste besoin de l' URL de ce flux et à peu près n'importe quel flux RSS devrait faire l'affaire. Et je vais revenir à notre programme. Et créons une nouvelle variable pour ce fil d'actualité égale à cette URL. J'aime garder ces variables en haut du programme afin que n'importe qui puisse entrer et modifier le RS. Flux RSS facilement plus tard sans avoir à faire défiler tout le code vers le bas. Ensuite, je veux m'efforcer de saisir réellement le contenu. Et avant cela, je vais simplement imprimer quelque chose sur le terminal indiquant que nous sommes en train de traiter le flux RSS. Ensuite, j' imprimerai les étapes des différentes parties au fur et à mesure que nous écrivons le programme, de sorte que lorsque nous exécuterons différentes parties au fur et à mesure que nous écrivons le programme, nous sachions quel bit est en cours de traitement à tout moment. Nous pouvons également voir quand il échoue, lorsqu'il y a des erreurs, nous pouvons voir dans quel bit ces erreurs se trouvent. Alors, pour notre propre bien, imprimons. J'évalue le flux RSS, n'est-ce pas ? Et pour ce faire, nous avons besoin d'un très bon module appelé feed parser, qui va nous faciliter la tâche. Nous l'importons donc comme nous le faisions auparavant. Importer le flux par. Bien. Cela signifie qu'en quelques lignes, nous pouvons récupérer ce contenu à partir du flux RSS. Nous allons maintenant attribuer la sortie du traitement de l'analyseur de flux à une nouvelle variable appelée feed. Nous utilisons donc un analyseur de flux ici. Parser, et nous utilisons l'une de ses méthodes appelée pass. Et l'argument en est l'URL des flux RSS. Il ne s'agit donc que d'un fil d'actualité que nous avons préparé plus tôt. Lorsque nous récupérons le fil, nous ne pouvons pas donner facilement plusieurs informations au chat DBT. Ce que nous voulons vraiment, c'est un peu de contenu. Je vais donc avoir une variable vide. Je vais en faire une minute. chaque actualité, je vais y ajouter le nouveau résumé. Au final, nous aurons une variable qui contient tous les résumés des actualités réunis. Ce sont de nouvelles histoires. Je vais donc appeler une variable des histoires et ce n'est qu'une envie vide de sens pour commencer. Le fil RSS qu'ils utilisent contient environ 30 éléments et je n'en veux pas autant. Je veux que les podcasts soient assez courts. Je vais donc le limiter à dix, et je créerai une autre variable à utiliser plus tard. Donc, pour les histoires, disons que la limite des histoires est égale à dix. Bien, nous sommes maintenant prêts à parcourir l'objet du flux, qui doit contenir toutes les données du flux RSS . À parcourir. Nous allons créer une boucle for. Et appelons chaque élément du flux RSS, car c'est à cela qu'il sert d'élément dans l'objet de flux. Et il existe une propriété appelée entrées. Maintenant, cela suffit à lui seul pour récupérer tous les objets. Mais comme je l'ai dit, je veux me limiter aux dix premiers. Nous pouvons donc utiliser un raccourci Python intelligent ici et utiliser les crochets. Ensuite, nous utiliserons cette limite de magasin ici après deux points. Donc un codon, puis dix ou une limite de stockage, et puis deux points à la fin parce que c'est une boucle à quatre. Et cela tronquera automatiquement tous les éléments jusqu'aux dix premiers. À chaque itération de la boucle. Nous allons comprendre que le magasin vide est variable. Les stories sont donc synonymes de stories plus, car nous y ajoutons des données à chaque fois. Et comme nous ajoutons toutes ces nouvelles histoires à une seule chaîne, je tiens à ce qu'il soit parfaitement clair qu'il faut discuter avec GBT lorsqu'une nouvelle histoire commence. Faisons donc une nouvelle histoire, le début de chacune d'entre elles. Et puis les éléments du flux RSS ont un élément de titre et un élément de description. Alors, saisissons-les en faisant le titre par points de l'article. Mettez un point après cela. Ensuite, nous allons récupérer la description de l'article. Et ça devrait être tout pour la transmission du flux RSS. Je veux m'assurer que ça fonctionne. Je vais donc simplement imprimer la variable stories. Une fois que tout a été ajouté, assurons-nous que cela fonctionne en accédant au terminal et en lançant le programme. Je suis donc en train d'enregistrer ce fichier sur le terminal. Et comme avant, Python ou Python 3. Et le nom du présentateur du fichier. Croisez les doigts. Cela a été rapide. Nous y voilà. Il a saisi le flux RSS et a tout combiné en une longue chaîne. C'est parfait comme entrée pour GPT, ce que nous ferons ensuite. 5. Utiliser le chatGPT: C'est vrai, nous nous en sortons bien. Nous avons le contenu des flux RSS, alors passons au chat GPT. Je vais y supprimer cette ligne d'impression. Nous n'avons plus besoin d'imprimer la variable stories, mais je vais ajouter une ligne qui imprime la prochaine étape du traitement. Nous parlerons donc de traitement du chat, GPT. Avec celui-ci, nous allons utiliser le module OpenAI que nous avons déjà importé. Il n'y a donc aucun nouveau module à importer. Pour l'utiliser, nous devons affecter le résultat ou la sortie du chat GPT dans une variable. Alors appelons-le chat. Je dirais que cela proviendra du module Open AI. Et il existe un service appelé achèvement du chat. Ils ont d'autres services tels que la génération d'images, etc. Mais nous utilisons un chat textuel ici. Et dans ce cadre, il existe une méthode de création. La méthode create accepte différents arguments, mais elle en a besoin d'au moins deux, et ils sont modaux. Et j'espère pour les virgules. Et les messages sont en fait un tableau. Tout d'abord, avec model, cela peut spécifier le modèle d'IA que nous voulons utiliser. Il y aura probablement beaucoup de choix à l'avenir. Mais pour le moment, vous avez à peu près GPT 3.5 actuellement. Donc GPT Hyphen 3.5 et il y en a un appelé turbo. Et il s'agit du modèle d'IA le plus avancé accessible au public. Cela changera probablement à l'avenir. Gardez donc un œil sur leur documentation d'API pour découvrir les dernières et les meilleures nouveautés. Donc, pour l'instant, le modèle est GPT 3.5 Turbo. Et les messages sont un ensemble d'objets. Chaque objet possède un rôle et un contenu. Et nous allons utiliser un seul objet pour simplifier les choses. Nous voulons donc un rôle parce que c'est un objet ici, je vais utiliser un rôle et un contenu. Le rôle peut être l'une des trois choses suivantes. Un utilisateur, qui est le rôle qui envoie réellement la commande ou les demandes au système de chat TBT, qui informe en quelque sorte chat GPT de quoi il s'agit. Donc, par exemple, vous êtes un assistant serviable et poli, quelque chose comme ça. Et puis l'assistant est le troisième rôle. Et cela peut être une sorte d'information de base, par exemple, si vous lui envoyez un tas de données, vous pourriez dire que ces données ont été collectées en mars 2023, quelque chose comme ça. Nous n'avons pas besoin de ce genre de choses. Nous allons simplement nous en tenir au seul rôle de la commande de base. Et cela signifie que le rôle sera utilisateur. Le contenu est la demande réelle que nous envoyons un chat GBT. J'ai fait plusieurs essais et erreurs ici, et j'ai trouvé une commande assez longue, donc je vais la coller pour gagner du temps. Et voilà. Veuillez réécrire les titres et les résumés suivants sous forme de discussion, comme forme de discussion, comme si quelqu'un en parlait sur un podcast. Comme vous pouvez le constater, j'ai ajouté diverses sortes de détails supplémentaires ici parce que je devais continuer à le peaufiner pour obtenir ce que je voulais vraiment. Et évidemment, vous pouvez également modifier cela en écoutant la sortie. C'est donc la demande. Mais il est évident que nous devons inclure les gros titres eux-mêmes. Donc, à la fin de cette demande, je vais simplement ajouter la variable stories qui va récupérer la sortie du chat TBT. Mais cela va également nous apporter quelques autres choses. Et nous voulons juste le contenu de base, la réponse principale. Extrayons donc cela en créant une nouvelle variable, le contenu du chat. Et nous allons le récupérer à partir de la sortie de chat que nous venons de créer. Et à l'intérieur de cela, il y aura un tableau de choix. Et nous voulons juste le premier élément, zéro élément dans le tableau des choix, puis le message, puis le contenu. C'est donc un peu la méthode fixe que nous avons explorée pour obtenir uniquement le contenu renvoyé par le chat DBT. Ça devrait être ça. Voyons donc si cela fonctionne en l' imprimant sur le terminal comme avant, en imprimant le contenu du chat. Et je suis en train de le sauvegarder et maintenant je vais au terminal et je l'essaie. Je vais exécuter le programme ici. Mais tout d'abord, vous le savez peut-être ou non, mais si vous appuyez sur la flèche vers le haut de votre clavier dans le terminal, les commandes que vous avez saisies précédemment seront affichées, vous n'aurez donc pas besoin de les saisir à nouveau. J'ai donc appuyé quelques fois et c'est celui-ci que je veux créer des podcasts point p-y, appuyer sur Entrée, et le programme est en cours d'exécution. Et maintenant qu'il est si loin, c'est bien. Alors maintenant, nous attendons juste que chat GBT renvoie quelque chose. Ensuite, nous y sommes allés, cela a pris quelques secondes, mais ça a l'air plutôt bien, pas d'erreur. Et rien qu'en lisant ceci, le contenu de podcast est plus beau, en quelque sorte bon. Et je suis toujours impressionnée par le fait qu'elle ait été reprise dans les gros titres de l' actualité et qu'elle ait pu ensuite la convertir en quelque chose d'assez naturel. Ce que nous devons faire ensuite, c'est le convertir en audio à l'aide de l'API 11 labs. 6. Convertir en audio: Eh bien, tout se passe bien jusqu'à présent. Passons donc à la partie suivante, qui consiste à générer réellement la sortie audio. Et comme avant, je vais simplement imprimer une ligne pour expliquer ce qui se passe. Donc, le traitement du son, quelque chose comme ça. D'accord, maintenant il n'y a plus de module 11 labs pour Python. Au lieu de cela, nous allons utiliser deux ou trois choses. Nous allons utiliser le module JSON car nous allons gérer les données au format JSON. Et nous allons importer un module de requêtes qui s' occupera de l'envoi d' requête par courrier sur Internet. Donc, pour les importer, nous retournons en haut du programme, importons du JSON, puis importons des demandes. Maintenant, lorsque nous traitons de l'API 11 labs, il existe en fait différentes voix que nous pouvons utiliser. Nous devons donc spécifier la voix que nous voulons en spécifiant l'identifiant vocal. Tout cela est répertorié dans la documentation de l'API des 11 laboratoires. Je ne vais donc pas le parcourir ici, mais j'en ai déjà un, déjà prêt. Je vais donc tout d'abord ajouter cela à une nouvelle variable, et nous l'appellerons Voice ID. Et c'est l'identifiant difficile à retenir. Je l'ai collé dedans. C'est en fait pour un garçon américain appelé Rachel. Et je pense que cela semble très naturel. C'est pourquoi je choisis celui-ci. Ensuite, nous voulons utiliser le module de requêtes pour envoyer cette demande et récupérer la réponse. Pour ce faire, nous allons créer une nouvelle variable pour stocker la sortie dans la sortie audio. Nous allons utiliser le module de requêtes et nous devons en fait envoyer des données postales. La publication est donc la méthode. Et puis il y a trois arguments que nous allons utiliser dans la méthode post. Le premier argument de la méthode post est simplement l'URL de l'API. C'est juste une chaîne, et je l' ai dans le bloc-notes, alors collez-la dedans. Mais nous devons également ajouter l'idée vocale de la voix que nous voulons. Ajoutez donc un identifiant vocal. Les deux arguments suivants sont les données et les en-têtes. Nous allons donc d'abord nous occuper des données. Et les données seront dans un format adjacent. Les données sont donc égales. Et ici, nous utilisons le module JSON. Et il possède une méthode appelée dumps, qui accepte les objets adjacents. Dans cet objet, nous allons mettre deux choses, les paramètres de texte et de voix. Le texte est assez simple car nous l'avons déjà préparé. Et c'est le résultat du chat GBT. C'est donc du contenu du chat. Et puis les paramètres vocaux. Laisse-moi juste déplacer ça vers le haut. La page avec les paramètres vocaux est un autre objet avec, dans le cas de 11 laboratoires, seulement deux paramètres permettant de contrôler le ton ou l' expressivité de la voix. Les deux paramètres sont la stabilité et l'amélioration de la similarité. Tout d'abord, la stabilité. Ce sont toutes deux des valeurs 0-1. Et la stabilité, c'est ce à quoi cela ressemble. La voix est assez stable lorsque vous avez une valeur élevée et beaucoup plus expressive lorsque vous avez une valeur faible, je vais la régler à 0,2. J'ai essayé quelques trucs et j'aime bien 0.2. Dans la vidéo suivante, je vais expliquer ce que cela signifie et vous montrer comment modifier ces paramètres. Mais tout d'abord, restons-en à 0,2, puis à l'augmentation de la similarité. Je n'ai pas trouvé que cela fasse une grande différence. Je vais donc m'en tenir à zéro pour celui-ci. Nous passons ensuite à l'argument des en-têtes de cette méthode de publication. Le troisième argument est également un objet, et cette fois avec trois propriétés. Le premier est le type de contenu, qui sera le JSON de l'application, car nous envoyons un objet adjacent. Nous envoyons également une clé API. C'est la propriété suivante. Nous avons donc besoin, dans ce cas, d'une clé API x i hyphen. Et nous ne voulons pas le taper directement dans le programme ici, mais ce n'est pas grave car nous l'avons déjà sous forme de variable que nous avons créée dès le début. Nous pouvons donc utiliser la clé API de 11 lampes que nous avons préparée. Et la troisième propriété est le format des données que nous voulons recevoir. Et nous voulons en fait un format audio. Nous pouvons donc accepter. Et ce sera audio slash mpeg, MP Zhe. OK, c'est tout ce dont nous avons besoin. Nous avons donc la méthode postale prête à être envoyée. Et ce que nous devons faire ensuite, c'est traiter la réponse avec le résultat que nous obtenons. Je vais juste déplacer un peu le code vers le haut. Et dans les résultats de 11 laboratoires, il y aura ce qu' on appelle un code d'état, qui nous dira si cela a fonctionné ou non. Je pense donc que c'est une bonne idée de le saisir et de le décocher. Tout d'abord. Donc, si la sortie audio, qui est l'objet, et ensuite la propriété du code d'état, est égale à 200, cela signifie que tout a fonctionné. Mettons-y donc un espace réservé. Fais quelque chose. Sinon, nous voulons imprimer quelque chose pour nous dire que cela n'a pas fonctionné. Nous allons donc imprimer à l'écran un message provenant de la sortie audio. Ainsi, 11 lampes incluront un message d'erreur en cas de problème. C'est ce que nous voulons imprimer. Donc, sortie audio, et c' est là une propriété de texte. Ainsi, si quelque chose ne va pas, nous serons en mesure comprendre si c'est parce que nous manquons de crédits ou pour autre chose. J'ai découvert que 11 laboratoires utilisent un peu de crédits assez rapidement, car la génération audio est assez intensive. Quoi qu'il en soit, c'est au cas où quelque chose tournerait mal, mais j'espère que tout ira bien. Dans ce cas, nous pouvons maintenant, dans cette ligne faire quelque chose, convertir le son que nous avons reçu en un fichier audio, un fichier mp3. Nous allons donc utiliser la commande width with, puis nous allons ouvrir un fichier audio et l' appeler test point mp3. Vous pouvez l'appeler comme vous le souhaitez et s'il n'existe pas, il le créera automatiquement. Mais nous devons ajouter quelques drapeaux ici. W et b. W signifie droit, donc c'est en mode écriture. Nous pouvons écrire du contenu dans le fichier MP3, et B signifie qu'il s'agit de données binaires, le fichier binaire. Ensuite, nous devons simplement attribuer un nom à ce fichier de sortie. Nous allons donc l'appeler fichier de sortie. Avec ce fichier, nous allons écrire le contenu audio que nous avons reçu de 11 laboratoires. Donc, avec ce fichier, fichier de sortie, d'accord, qu' allons-nous y écrire ? Nous allons écrire le contenu de la sortie audio. Donc une sortie audio, qui a une propriété de contenu. Cela devrait être tout ce dont nous avons besoin pour créer le fichier audio. Donc, pour terminer, il ne reste plus qu'une ligne à imprimer pour indiquer que tout est terminé plutôt qu'incomplet ou quelque chose comme ça. Je vais enregistrer ce fichier. Et maintenant, si nous le lançons et croisons les doigts, cela devrait fonctionner. Donc, une fois de plus, dans le terminal, je vais appuyer sur la flèche vers le haut de mon clavier. Créez des podcasts point p-y. Allons-y. Donc, comme avant, il va déjà récupérer les informations dans le fil RSS. C'est rapide. Il utilise maintenant le chat GBT pour convertir cela en un style de discussion plus bavard. Il contient des textes qui ne sont probablement pas identiques au texte que nous avions auparavant, mais il a toujours l'air plutôt bon. Cela va donc maintenant être enregistré, si vous le souhaitez, par la voix de l'IA et, espérons-le enregistré sous forme de fichier appelé Tech test dot mp3. OK, cela vient de se terminer et aucun message d'erreur n'a été affiché, ce qui est génial. Passons maintenant au dossier dans lequel nous avons travaillé. Bien, il existe un fichier appelé test dot mp3. C'est 1,2 Mo, ce qui semble bien. Jouons-y. Bonjour et bienvenue sur le podcast d' aujourd'hui où nous discuterons de certaines des dernières actualités en provenance du Japon. Première étape, ça marche. Cela fonctionne. J'espère que vous pouvez entendre qu'il y a deux voyelles aucune première utilisation d' armes nucléaires n'est incroyablement réaliste à mes yeux. Je suis très impressionné. Nous pouvons aller regarder le contenu du terminal et voir cette opportunité de partir. Elle est en train de lire ça. Le Japon et la Corée du Sud envisagent un package pour moi. Oui, ça a l'air vraiment bien. Waouh. Nous avons donc créé notre programme. Tu devrais être très fière de toi, et ça marche. Nous avons un fichier audio, donc c'est vraiment tout. Mais je voudrais aborder dans la vidéo suivante les quelques manières dont vous pouvez modifier les paramètres ici pour modifier la sensation, le ton ou l'expressivité. Alors, à bientôt dans la vidéo suivante. 7. Contexte en tordre: Donc, tout fonctionne. C'est super. Mais je veux juste vous montrer quelques moyens de contrôler ce qui sort à la fois du chat GBT et de l' audio, qui fera d'abord du chat GPT. Et pour cela, je voudrais supprimer temporairement la section audio , car je ne veux pas gaspiller des crédits à générer du son alors que c'est le bit DBT du chat sur lequel je me concentre. Donc ça ira pour le moment. La fonction de création que nous avons vue plus tôt pour chat GBT nécessite au moins deux arguments. existe plusieurs autres, et vous pouvez consulter la documentation de l'API pour comprendre tous les différents arguments qui s' offrent à vous. Mais celui qui a le plus d'impact que j'ai trouvé, c'est sa température. Et vous pouvez considérer cela comme de la créativité. Ça passe à 0-2. Je pense que la valeur par défaut est 1.0. Relativement, l'absence de créativité signifie que vous obtiendrez à peu près la même réponse ou presque la même à chaque fois que vous exécutez la même commande. Ce nombre élevé, deux maximum , nous donnera beaucoup de créativité. Et c'est ce que je veux montrer ici. Utilisons donc une température de deux. Sauvegardez ceci. Et nous allons recommencer et exécuter à nouveau la commande. Nous y voilà. Oh, c' est très créatif. Alors ça commence un peu, d'accord, bienvenue dans notre classe aujourd'hui, nous discutons de bla, bla. Mais comme vous pouvez le constater, au fur et à mesure que nous descendons, ce ne sont que de la foutaise. C'est donc vraiment créatif. Vous ne voudrez donc probablement jamais utiliser la température comme une valeur de deux, la valeur la plus basse de 10, comme je l'ai mentionné, cela vous donnera probablement une sortie beaucoup plus stable et à peu près la même chose à chaque fois. Cela dépend de ce que tu veux. Vous pouvez vous en tenir à cette sortie prévisible. La valeur par défaut que je trouve est tout à fait correcte. J'ai généralement tendance à le laisser vide. Je n'utilise l'argument de la température que si je veux contrôler sa créativité. Mais cela n'est pas très utile. Quoi qu'il en soit, cela dépend de vous. Tu peux jouer avec ça. Regardons maintenant les commandes audio. En ce qui concerne les paramètres audio, il y a à peu près deux améliorations des paramètres vocaux, de la stabilité et de la similarité que nous avons vues plus tôt. Tout d'abord, l'augmentation de la similarité. Cela est plus efficace lorsque vous avez une voix personnalisée et que vous pouvez le faire. Je pense que vous devrez peut-être opter pour un forfait payant avec 11 lampes, mais vous pouvez fournir des échantillons vocaux et le système essaiera de créer une voix IA très similaire à celle-ci. Vous pouvez donc utiliser un boost de similarité pour le rendre très similaire ou moins similaire. Si vous l'avez très haut, je pense qu'il peut y avoir des artefacts qui commencent à apparaître. J'ai trouvé que cela n' avait pas beaucoup d'effet lorsque nous utilisons les voix intégrées. nombre plus élevé semble peut-être un peu plus clair, mais selon la documentation de l'API, il existe un risque d'apparition d'artefacts . Je l'ai donc laissé à zéro et tout va bien. Le paramètre de stabilité est plus différent. Et c'est un peu comme leur réglage de créativité sur le chat DBT. Il contrôle l' expressivité de la voix. Ainsi, un nombre plus élevé le rend plus stable. Je suis un peu ennuyeux en fait. Et un chiffre faible, c'est que la voix est très expressive. Maintenant, plutôt que de générer et d'utiliser mes crédits, j'ai créé deux fichiers de test. Il est donc beaucoup plus rapide pour nous d'écouter la différence entre ces deux réglages. J'ai quelques exemples de fichiers que j'ai préparés ici. Et écoutons le premier lien avec la plus grande stabilité possible. Bonjour Voici un extrait de la voix nommée Rachel provenant de 11 laboratoires avec un paramètre de stabilité de un et un paramètre d' augmentation de similarité de zéro. D'accord, ça a l'air plutôt bien, assez naturel, mais aussi un peu ennuyeux. Essayons donc avec un paramètre de stabilité de zéro, qui est le minimum. Bonjour Voici un extrait de la voix nommée Rachel provenant de 11 laboratoires avec le paramètre de stabilité de zéro et un paramètre d' augmentation de similarité de zéro. Waouh, elle est vraiment enthousiaste à ce sujet. C'est peut-être trop expressif. Je l'ai fait avec quelques échantillons et je suis redescendu à zéro. Revenons au programme pendant une seconde. Oui, le réglage de stabilité de zéro est vraiment trop élevé pour moi. J'aime 0,2. J'ai vu d'autres personnes dans des forums de discussion recommander quelque chose entre 0,2 et 0,4. Alors allez-y et augmentez la similitude. Tu peux essayer de jouer avec ça, mais en général, zéro ou même un suffit. Il n'y a pas de grande différence. Voici donc comment vous pouvez contrôler la sortie de Chen GBT et du son des 11 laboratoires. Faites juste attention car le traitement audio est beaucoup plus intensif. Vous allez donc utiliser vos 11 crédits de laboratoire beaucoup plus rapidement que ceux de chat GBT. Ce que je recommande, c'est que chaque fois que vous générez un nouveau fichier audio, vous pouvez en faire une copie et conserver une trace des paramètres de stabilité et d'abus de similarité que vous avez utilisés afin de conserver cette copie s'il est remplacé. Vous pourrez vous y référer en tant que fichier d'exemple à l'avenir. Quoi qu'il en soit, je pense qu'il ne nous reste plus qu'à récapituler ce que nous avons appris. 8. Conclusion: Nous y voilà. Vous savez maintenant comment créer facilement un podcast alimenté par l'IA à partir des gros titres de l'actualité. Et j'espère que nous avons beaucoup appris au cours du cours. Récapitulons donc rapidement les compétences spécifiques que nous avons abordées. Utiliser Python pour obtenir du contenu à partir d'un flux RSS. Génération de textes de type humain à l'aide de l'API GPT de chat. Conversion de texte en parole à l'aide de l'API 11 labs. Création d'un fichier audio MP3 à partir de la sortie texte-parole. J'espère que vous avez apprécié le cours et que vous l'avez trouvé utile. Maintenant que vous l'avez terminé, les compétences que vous avez acquises peuvent être utilisées pour divers projets à l'avenir. Vous pouvez évidemment générer automatiquement des fichiers audio sur une base quotidienne ou hebdomadaire, puis les télécharger sur votre hébergeur de podcast préféré. Parmi les exemples, citons Bus Sprout, Simple Cost ou Transistor FM. Vous pouvez également utiliser le code que nous avons développé pour utiliser d'autres services en ligne tels que génération d' images ou même la génération de vidéos Il devrait être assez facile de modifier le code pour utiliser diverses API en ligne. Enfin, je tiens à vous remercier de m'avoir rejoint dans ce cours. Ce fut un plaisir de vous enseigner et oubliez pas que c'est en s'entraînant que l'on se perfectionne. Continuez donc à perfectionner vos compétences en matière de codage et créez des projets intéressants. Et surtout, amusez-vous en cours de route. Si vous avez des commentaires ou des questions, hésitez pas à les laisser dans la section de discussion. Et si ce n'est pas déjà fait, pensez à laisser un avis pour aider les autres apprenants à trouver ce cours et à en tirer parti. Alors c'est tout pour moi. Et je vous souhaite bonne chance dans vos aventures de codage.