CoolFace
Apppublic

ngovu182002/test

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
main.py61 linesDownload Raw Back to root
1import openai2import pptx3from pptx.util import Inches4import os5import time6 7from dotenv import load_dotenv8load_dotenv()9 10openai.api_key = os.getenv('OPENAI_API_KEY')  # Replace with your actual API key11 12def generate_slide_titles(topic):13    prompt = f"Generate 10 slide titles for the topic '{topic}'."14    response = openai.Completion.create(15        engine="text-davinci-003",16        prompt=prompt,17        max_tokens=200,18    )19    return response['choices'][0]['text'].split("\n")20 21def generate_slide_content(slide_title):22    prompt = f"Generate content for the slide: '{slide_title}'."23    response = openai.Completion.create(24        engine="text-davinci-003",25        prompt=prompt,26        max_tokens=500,  # Adjust as needed based on the desired content length27    )28    return response['choices'][0]['text']29 30 31def create_presentation(topic, slide_titles, slide_contents):32    prs = pptx.Presentation()33    slide_layout = prs.slide_layouts[1]34 35    title_slide = prs.slides.add_slide(prs.slide_layouts[0])36    title_slide.shapes.title.text = topic37 38    for slide_title, slide_content in zip(slide_titles, slide_contents):39        slide = prs.slides.add_slide(slide_layout)40        slide.shapes.title.text = slide_title41        slide.shapes.placeholders[1].text = slide_content42 43    prs.save(f"{topic}_presentation.pptx")44 45def main():46    start = time.time()47    topic = "Explainable AI"  # Replace with your desired topic48 49    slide_titles = generate_slide_titles(topic)50    filtered_slide_titles= [item for item in slide_titles if item.strip() != '']51    print("Slide Title: ", filtered_slide_titles)52    slide_contents = [generate_slide_content(title) for title in filtered_slide_titles]53    print("Slide Contents: ", slide_contents)54    create_presentation(topic, filtered_slide_titles, slide_contents)55    end = time.time()56 57    print("Total Duration: ", round(end - start, 2), " secs")58    print("Presentation generated successfully!")59    60if __name__ == "__main__":61    main()