Podfai
Cette application permet à l'utilisateur de créer du contenu dans le style des podcasts en fonction des fichiers fournis. Certains exemples constitueraient un article, une conférence, une description du projet, un curriculum vitae personnel ou bien d'autres.
J'ai également écrit un article de blog pour parler de ce projet, assurez-vous de vérifier " comment utiliser une IA générative pour créer du contenu de style podcast à partir de toute entrée ".
Comment ça marche

Comment utiliser
- Fournir un ou plusieurs fichiers.
- Facultativement, personnalisez les voix de l'invité et de l'hôte, vous pouvez consulter les échantillons de voix ici.
- Cliquez sur "Générer le podcast" et attendez quelques instants.
- Jouez l'audio et n'hésitez pas à suivre la transcription textuelle.
Exemples

Le podcast génère à partir de mon autre projet "AI Beats"
podcast-aai_beast.mp4
Le podcast génère à partir de mon autre projet "Trailer AI"
podcast-aai_trailer.mp4
Podcast Générer à partir de la description de la "routine matinale optimale du matin" d'Andrew Huberman
podcast-Andrew_hubermans.mp4
Podcast Génération par un CV personnel
podcast-résume.mp4
Utilisation locale
Installation
- Cloner le référentiel github
https://github.com/dimitreOliveira/PodfAI.git
cd PodfAI
- Créer un nouveau Venv
python -m venv .venvs/podfai
- Activer le venv
source .venvs/podfai/bin/activate
- Installer les exigences
Alternativement, vous pouvez également exécuter en utilisant pip
pip install -r requirements
- Configurer les dépendances de l'API Google
- Suivez ce guide ou cet autre.
Exécution de l'application
Pour démarrer l'application, exécutez la commande make ci-dessous
Alternativement, vous pouvez également courir en utilisant Plain Python
streamlit run src / app . py
Configuration
N'hésitez pas à modifier les configurations par défaut pour modifier le comportement de l'application ou ajuster à vos besoins.
vertex:
project: {VERTEX_AI_PROJECT}
location: {VERTEX_AI_LOCATION}
transcript:
model_id: gemini-1.5-pro-002
transcript_len: 5000
max_output_tokens: 8192
temperature: 1
top_p: 0.95
top_k: 32
- sommet
- Projet: Nom du projet utilisé par Vertex AI.
- Emplacement: Emplacement du projet utilisé par Vertex AI.
- transcription
- Model_id: modèle utilisé pour créer la transcription du podcast.
- Transcript_len: longueur de transcription suggérée.
- Max_Output_Tokens: Nombre maximum de jetons générés par le modèle.
- Température: La température contrôle le degré de hasard dans la sélection des jetons. Les températures plus basses sont bonnes pour les invites qui s'attendent à une réponse vraie ou correcte, tandis que des températures plus élevées peuvent conduire à des résultats plus diversifiés ou inattendus. Avec une température de 0, le jeton de probabilité le plus élevé est toujours sélectionné
- top_p: top-p modifie la façon dont le modèle sélectionne les jetons pour la sortie. Les jetons sont sélectionnés parmi les plus probables au moins jusqu'à ce que la somme de leurs probabilités soit égale à la valeur TOP-P. Par exemple, si les jetons A, B et C ont une probabilité de .3, .2 et .1 et que la valeur Top-P est de 0,5, alors le modèle sélectionnera A ou B comme jetons suivant (en utilisant la température)
- TOP_K: TOP-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Un Kop-K de 1 signifie que le jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage gourmand), tandis qu'un top-k de 3 signifie que le jeton suivant est sélectionné parmi les 3 jetons les plus probables (en utilisant la température)
FAIRE
- Soutenir le clonage vocal
- Soutenez les autres langues
- Prise en charge d'autres types d'entrée (images, vidéos, URL YouTube)
- Ajouter un exemple de cahier à exécuter en colab
- Reproduire un flux de travail avec des modèles open source
- Expérimentez avec des flux de travail agentiques pour améliorer la transcription du podcast
Références
- Google Cloud - Bibliothèques clients de texte à dispense
- Configurer Google Cloud TTS localement
- Liste vocale Google Cloud TTS
Contributif
Si vous êtes intéressé à contribuer à ce projet, merci beaucoup! Avant de créer votre PR, assurez-vous de mener votre code, exécutant la commande ci-dessous:
Remerciements
- Les crédits Google Cloud sont fournis pour ce projet. Ce projet a été possible grâce au soutien de l'équipe des programmes de développeurs ML de Google.
- Ce projet était basé sur NotebookLM de Google, qui, à part le contenu de style podcast, dispose de nombreuses autres fonctionnalités, assurez-vous de le vérifier.