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.