File size: 3,741 Bytes
e6d9b29
ca1e304
e6d9b29
6affcce
e6d9b29
1f03019
ca1e304
 
 
 
6affcce
 
 
 
 
ca1e304
6affcce
 
 
 
 
1f03019
6affcce
 
1f03019
6affcce
 
91f81f0
6affcce
 
 
ca1e304
 
 
 
 
 
899c09c
 
 
 
 
 
 
 
 
 
 
91f81f0
 
1f03019
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import gradio as gr
from huggingface_hub import InferenceClient

# Initialize the language model
generator = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")

def generate_script(host_name="John", listener_location="City", causes_climate_change="human activities",
                    co2_level=400, effects_climate_change="rising temperatures", sea_level_rise=0.1,
                    warming_rate=0.2, potential_solutions="renewable energy", individual_role="reduce carbon footprint",
                    call_to_action="act now"):
    # Variables
    prompt_template = f"""INTRODUCTION: {host_name}, good morning! This is {listener_location}'s local radio station. Today we're talking about an issue that affects us all - climate change. It's a pressing issue that requires our immediate attention...
    CAUSES OF CLIMATE CHANGE: The causes of climate change are {causes_climate_change}. Today, the level of CO2 in our atmosphere is {co2_level}, which is concerning...
    EFFECTS OF CLIMATE CHANGE: These activities result in {effects_climate_change}, leading to drastic changes in our environment. For instance, sea levels are rising at a rate of {sea_level_rise} per year, and global temperatures are increasing at a rate of {warming_rate} per decade...
    POTENTIAL SOLUTIONS: But don't worry, there are solutions. {potential_solutions} are all steps we can take to mitigate these effects...
    INDIVIDUAL ROLE: Each one of us plays a role in combatting climate change. Even small actions can make a big difference. In fact, our location, {listener_location}, is particularly vulnerable to climate change due to its geographical features...
    CALL TO ACTION: So, {listener_location}, why wait? Start taking steps today towards a greener future. Support local businesses that prioritize sustainability, reduce your carbon footprint, and voice your opinion to policy makers...
    SUMMARY: In conclusion, climate change is a serious issue that requires our immediate attention. But by understanding its causes, effects, and potential solutions, we can all play a part in mitigating its impact. Thank you for joining us today, and remember, every small action counts!"""

    # Generate the script
    script = generator(prompt_template, max_length=1000)[0]['generated_text']

    # Split the script into sections
    sections = script.split("\n")

    # Calculate the word count for each section
    word_counts = [len(section.split()) for section in sections]

    # Check if any section exceeds the target word count
    for i, count in enumerate(word_counts):
        if count > 200:
            print(f"Warning: Section {i + 1} exceeds the target word count. You may need to shorten this section.")

    return script

# Create a Gradio interface with default values
iface = gr.Interface(fn=generate_script,
                   inputs=[gr.Textbox(label="Host Name", value="John"),
                           gr.Textbox(label="Listener Location", value="City"),
                           gr.Textbox(label="Causes Climate Change", value="human activities"),
                           gr.Number(label="CO2 Level", default=400),
                           gr.Textbox(label="Effects Climate Change", value="rising temperatures"),
                           gr.Number(label="Sea Level Rise", default=0.1),
                           gr.Number(label="Warming Rate", default=0.2),
                           gr.Textbox(label="Potential Solutions", value="renewable energy"),
                           gr.Textbox(label="Individual Role", value="reduce carbon footprint"),
                           gr.Textbox(label="Call To Action", value="act now")],
                   outputs="text")

# Launch the interface
iface.launch()