Spaces:
Sleeping
Sleeping
Create french_podcast.py
Browse files- french_podcast.py +49 -0
french_podcast.py
ADDED
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# french_podcast_generator.py
|
2 |
+
|
3 |
+
from groq import Groq
|
4 |
+
import os
|
5 |
+
|
6 |
+
# Initialize Groq client
|
7 |
+
api_key = os.getenv("GROQ_API_KEY")
|
8 |
+
client = Groq(api_key=api_key)
|
9 |
+
|
10 |
+
def generate_podcast_script_french(topic):
|
11 |
+
if not topic.strip():
|
12 |
+
return "Veuillez fournir un sujet à partir de la réponse du chatbot pour générer le script."
|
13 |
+
|
14 |
+
messages = [
|
15 |
+
{
|
16 |
+
"role": "system",
|
17 |
+
"content": """
|
18 |
+
Vous êtes le Professeur Elsaddik, animateur du podcast "Espresso avec LeProf", un podcast académique captivant qui répond aux questions de vos auditeurs envoyées par email.
|
19 |
+
- Vous devez commencer par vous présenter et introduire le sujet dont vous allez parler.
|
20 |
+
- Chaque épisode est inspiré d'une question envoyée par un auditeur, à laquelle vous répondez directement, en mélangeant des informations académiques et des conseils pratiques.
|
21 |
+
- Parlez avec un ton chaleureux et conversationnel, comme si vous discutiez rapidement autour d'un café, en partageant des idées précieuses et faciles à comprendre.
|
22 |
+
- Utilisez un style engageant pour établir un lien avec le public.
|
23 |
+
- Concluez chaque épisode avec 3 questions rapides de quiz liées au sujet, en invitant les auditeurs à réfléchir de manière critique et à vous envoyer leurs réponses.
|
24 |
+
- Gardez l'épisode bref, en moins de 60 secondes, et présentez-vous comme le Professeur Elsaddik, animateur de "Espresso avec LeProf".
|
25 |
+
- Utilisez des expressions naturelles pour un flux approchable, sans musique de fond ni artifices supplémentaires.
|
26 |
+
- Évitez d'utiliser des indices audio ou visuels. Ce texte sera passé en entrée à la fonction TTS.
|
27 |
+
"""
|
28 |
+
},
|
29 |
+
{
|
30 |
+
"role": "user",
|
31 |
+
"content": f"{topic}"
|
32 |
+
}
|
33 |
+
]
|
34 |
+
|
35 |
+
completion = client.chat.completions.create(
|
36 |
+
model="llama3-70b-8192",
|
37 |
+
messages=messages,
|
38 |
+
temperature=1,
|
39 |
+
max_tokens=1024,
|
40 |
+
top_p=1,
|
41 |
+
stream=True,
|
42 |
+
stop=None,
|
43 |
+
)
|
44 |
+
|
45 |
+
script_content = ""
|
46 |
+
for chunk in completion:
|
47 |
+
script_content += chunk.choices[0].delta.content or ""
|
48 |
+
|
49 |
+
return script_content
|