

Discover more from La Batcave
Le batsignal est dans le ciel, merci d’être venu 🦇 !
Dans cette 2nde édition, tu vas comprendre comment transcrire un podcast automatiquement :
- tu l’uploades dans ton drive.
- 2 fichiers Google Docs sont créés : la transcription et les sous-titres.
- tu reçois par mail un résumé du podcast fait par une IA.
Explore avec moi les coulisses de ce service.
Et si tu souhaites reconstruire ce prototype toi-même, tu trouveras l’explication dans la partie 4 (avec les sources).
Si tu en as l’usage, ça te coûtera 5 à 10 fois moins cher que de passer par un SaaS.
Pas de blabla, rentrons dans le vif du sujet ! 👇
Le programme des réjouissances
Le prototype en vidéo
Top 5 des trucs à retenir
Construis le toi-même
Bonus : l’idée business & aller plus loin
Le prototype
Schéma
Parce qu’un schéma vaut 1000 mots !
L’architecture du prototype d’aujourd’hui, avec des lego :
Make est une plateforme qui permet d’automatiser des process visuellement, sans avoir à coder.
AssemblyAI est un service de speech-to-text.
GPT-3 est une IA multitâche développée par OpenAI.
Tout l’enjeu, c’est de comprendre comment les imbriquer 🙂.
La vidéo
Je te conseille vraiment de la regarder, elle va t’aider à bien visualiser comment se construit ce type d’outil. Et elle ne dure que 4 min ! On se retrouve après.
Les “!” sont des points sur lesquels je reviendrai ici.
Explication : Top 5 de ce que tu dois retenir
1. Pourquoi avoir créé un lien public du fichier ?
Pour faciliter l’utilisation du service de speech-to-text AssemblyAI.
Pour lui transmettre le fichier, il suffit de donner ce lien :
"audio_url": "{{webContentLink}}"
2. Pourquoi avoir créé un webhook ?
Tu as 2 manières de récupérer une donnée :
- tu la tires vers toi, c’est la méthode “pull”
- elle est poussée vers toi, c’est la méthode “push”
Le webhook, c’est la méthode “push”.
Quand la donnée est prête, la transcription du podcast, le service de speech-to-text la pousse.
Et tu dois avoir un webhook prêt pour la récupérer.
J’ai choisi cette façon de faire, car dans ce cas là, elle est plus efficace.
Pas besoin de regarder toutes les minutes si la transcription est prête.
3. Pourquoi avoir utilisé un DataStore dans Make ?
J’utilise 2 scénarios Make :
- un qui regarde toutes les minutes s’il y a un nouveau fichier puis envoie à AssemblyAI
- le webhook qui reçoit la transcription, génère les fichiers, envoie par mail, etc.
La façon la plus efficace de transmettre de l’information entre les 2, c’est d’utiliser le Data store de Make.
Dans un scénario, tu stockes de l’info, et dans l’autre, tu la lis.
Dans notre cas, c’est pour stocker le nom du fichier dans le 1er scénario.
Puis utiliser cette info pour créer un fichier avec ce même nom dans le second.
Le but est de pouvoir retrouver la transcription d’un podcast avec le même nom.
4. Pourquoi avoir utilisé un Iterator dans Make
AssmeblyAI a une fonctionnalité très intéressante.
Celle de regrouper la transcription en un paragraphe logique => facilite la lecture !
Mais ça complique son traitement dans Make.
J’utilise “iterator” pour itérer sur l’ensemble des paragraphes.
Et je le lie à un “text agregator” pour agréger les paragraphes avec un retour à la ligne entre chaque.
5. Comment fonctionne GPT-3 dans ce prototype ?
Tu vas être surpris de la facilité d’utilisation.
J’ai simplement repris cet exemple.
Dans la requête, j’envoie :
{
"model": "text-davinci-002",
"prompt": "{{MaTranscription}}\n\n Tl;dr",
"temperature": 0,
"max_tokens": 512,
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0
}
Et voilà !
Aussi simple qu’un “Tl;dr”
à la fin d’un long texte !
Construis le toi-même
Tu veux mettre en place cet outil pour toi ?
C’est parti !
Prérequis :
Un compte Make
Un compte AssemblyAI
Un compte OpenAI
Les 3 ont des versions gratuites donc tu peux tester gratuitement !
MAIS, si tu souhaites utiliser cet outils régulièrement, ça te coûtera un peu d’argent.
Pour info la 1re version payante de Make est à 10 euros (largement suffisant).
Il faudra compter environ 1 euro pour une heure de podcast.
Si tu n’arrives pas à mettre en place cet outil, n’hésite pas à me le dire par mail !
Je pourrai faire une vidéo pour montrer comment faire si tu me demandes :)
Étape par étape :
Télécharge les scénarios ici
Importe-les dans Make.
Ajoute les tokens d’AssemblyAI et OpenAI dans les requêtes http sur le champ “authorization”.
Ils vont te permettre d’utiliser ces services.Générer une URL pour ton webhook
il suffit d’aller sur le module et en rajouter une
une fois que tu as l’url, n’oublie pas de remplir le paramètre “webhook_url” dans le scénario “Podcast Submit” sur le module http “Send Audio AssemblyAI”.
Créer un data store pour stocker le nom du podcast. Utilise l’id de la transcription donnée par AssemblyAI comme clé.
Tu vas devoir donner les accès à ton Drive et Gmail pour Make.
Le tuto à suivre est ici.
Ça parait compliqué mais vraiment ça ne l’est pas. Il suffit de suivre ce qui est dit :)
Remarque : je t’invite à te créer un compte Google dédié pour Make.
Et à donner les accès pour celui-ci.
C’est ce que j’ai fait.Quand c’est fait, tu choisis le compte lié dans les modules Drive et Gmail.
Si tu es sur une version gratuite, je t’invite à lancer en continu le scénario avec le webhook : “Getting Transcription”.
Pour “Podcast Submit”, lance-le manuellement après avoir uploadé ton podcast.
Si tu as la version payante de Make, active simplement les 2 scénarios !
Bonus
L’idée business
Problème ?
Les podcasts sont souvent de mines d’or d’informations, mais difficiles à trouver rapidement à cause du format audio.
La solution ?
Récupérer l’essence des podcasts grâce à la transcription et des recherches textuelles pour trouver la bonne info rapidement.
Il faut industrialiser le service :
- Drive => service de stockage Cloud type S3
- Uploader automatiquement les nouveaux podcasts, les transcrire puis les stocker
- Mettre les transcriptions dans un Elastic Search pour les indexer => permet de trouver très rapidement un podcast avec une recherche textuelle.
- Création d’une interface pour accéder à toutes ces transcriptions.
Le business model ?
- Freemium (gratuit) : avec des pubs, payant : sans pub et des fonctionnalités en plus.
Comme la dernière fois, je pose ça là 😅.
Utilise le service que je viens de te montrer pour faire des démos et surtout, teste ton marché ! Est-ce que les gens sont prêts à payer pour ce service ? Je ne sais pas 🤷♂️.
Pour aller plus loin
Tu peux remplacer Drive par n’importe quel service de stockage : Dropbox, S3, Airtable, Notion, …
La condition, c’est de pouvoir générer un lien public de ton fichier pour le télécharger.AssemblyAI a pas mal de fonctionnalités en plus à tester :
par contre, c’est souvent pour de l’anglais
En l’état, GPT-3 ne peut pas résumer un texte trop long ( > 1500 mots) en une seule fois :
Donc si tu testes avec un podcast long (> 10 min), tu ne recevras pas le résumé, ça va planter.
Si tu veux cette fonctionnalité, tu devras découper le texte en plusieurs parties, demander le résumé pour chacune, puis agréger les résultats.
Concernant GPT-3, tu peux aller au-delà d’un simple résumé !
Tu peux créer des templates où tu poses des questions et GPT-3 y répond.
=> Remplir des formulaires automatiquement pour t’aider à synthétiser tes podcast.
Le mot de la fin
J’espère que ça t’a plu ! N’hésite pas à me répondre directement à la suite de ce mail pour me donner ton avis :).
Un like fait toujours plaisir pour me montrer que tu as apprécié et m’encourager à continuer.
Exceptionnellement, la prochaine édition ne sera pas la semaine prochaine, mais celle d’après (le samedi 12).
J’ai pris du retard sur le prochain prototype et je ne veux pas faire une édition au rabais.
L’indice que je peux te donner : le prototype sera du genre… sportif !
On se retrouve dans 2 semaines !
D’ici là, prends soin de toi et amuse toi bien avec ce prototype !🙃
Vincent 🦇
PS : Je me répète, mais n’hésite pas à me faire un retour pour que je puisse m’améliorer les prochaines fois ! Ça m’aidera vraiment :)
Comment transcrire un podcast aussi vite qu'un "glisser-déposer" 🤯
😮🤯
Vive l'automatisation de taches et l'IA :)
Merci pour les explications claires