Skip to content

Bluedata-Consulting/pilothub

Repository files navigation

jupyter
kernelspec language_info nbformat nbformat_minor
display_name language name
base
python
python3
codemirror_mode file_extension mimetype name nbconvert_exporter pygments_lexer version
name version
ipython
3
.py
text/x-python
python
python
ipython3
3.10.9
4
2

Pilothub

to install pilothub use

pip install pilothub

PPT Notes Maker

from pilothub.withopenai import ContentClient
from pilothub.pptnotes import PPTx2Notes

model = "gpt-4-0125-preview"
api_key = "xxxxxxxxxxxxxxxxx"
source_path = r"sample_data.pptx"
dest_path = r"output_file.pptx"
openai_client = ContentClient(openai_api_key=api_key,
                              open_ai_model=model,
                              max_tokens=2500,
                              temperature=0.7)
ppt_client = PPTx2Notes(file_path=source_path)
n = len(ppt_client.slides)
print("Total Number of slides ",n)
Total Number of slides  103
skip_slides_index = [0,n-3,n-2,n-1,n]
skip_slides_layout = ["1_Custom Layout","Quote Slide","Contemporary_Title v1","Section Header","Last_Slide v1","Quiz","Summary"]
skip_slide_titles = ["quiz","summary"]
ppt_client.set_skip_slides(skip_slides_index=skip_slides_index,
                           skip_slides_layout=skip_slides_layout,
                           skip_slide_titles=skip_slide_titles)
ai_prompt_dict = {
    "CoverPage":"Explain the Module Name in 2 lines",
    "Agenda":"This slide contains the agenda for whole module, provide one line summary for each topic.",
    "Section Header":"This is Section Header, Provide a 5 lines summary on what this section is about.",
    "Quote Slide":"This is a quote slide, provide a 10 lines summary with Key points to remember on what this quote is about.",
    "RunningMan-Infographic":"This is an summary slide, provide a 10 lines summary with Key points to remember on what this infographic is about.",
}

ai_prompt_for_skip_slides = """
You are an expert in course creation, below is text on the slide, provide short notes for this slide in less than 2 lines:

"""
default_prompt = """
            Role: You are an expert in course creation and articulation.
            Task: You need to provide detailed notes, summary & key points.
            Contraints: Keep the notes provided precise and concise.
            Use bullet points to explain the key concepts.
            Do not use any decoration such as bold text (prefer using bullet text)
            Add a section "For Students: " where provide expalanation is
                short format in layman language.(only if necessary/suitable)
            Provide notes for the following information:

            """
ppt_client.write_notes_to_pptx(output_path=dest_path,
                               content_client=openai_client,
                               SET_AI_TEXT_FOR_SKIP_SLIDES=True,
                               AI_PROPMT_SKIP_SLIDES=ai_prompt_for_skip_slides,
                               AI_PROMPT_DICT_SKIP_SLIDES=ai_prompt_dict,
                               DEFAULT_PROMPT_FOR_OTHER_SLIDES=default_prompt,
                               SKIP_NOTES_FOR_SLIDES_WITH_NOTES=True)

PPT to Handbook Maker

from pilothub.ppt2hb import HandbookMaker



# Set the path of the PowerPoint presentation
ppt_path = r"pilothub.pptx"

# Set the output path for the generated handbook
output_path = "handbook.docx"

# Create an instance of HandbookMaker
handbook_maker = HandbookMaker(ppt_path)


skip_slides = ['Quiz', 'CoverPage', 'RunningMan-Infographic','Last_Slide v1','1_Custom Layout','Contemporary_Title v1']
content_layout_name = "Title and Content"
skip_text_from_slides = ['sample_text1','sample_text2']

# Generate the handbook from the PowerPoint presentation
handbook_maker.convert_ppt_to_handbook(output_file_path=output_path,
                                       skip_slides=skip_slides,
                                       content_layout_name=content_layout_name,
                                       skip_text_from_slides=skip_text_from_slides)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published