import asyncio import json from api.utils.utils import download_file from image_processor.images_finder import get_image_from_pexels from ppt_config_generator.structure_generator import generate_presentation_structure from ppt_config_generator.models import ( PresentationStructureModel, PresentationMarkdownModel, SlideMarkdownModel, ) from ppt_config_generator.ppt_outlines_generator import generate_ppt_content from ppt_generator.generator import generate_presentation_ollama from ppt_generator.models.llm_models import LLMPresentationModel from ppt_generator.slide_generator import get_slide_content_from_type_and_outline def test_ollama(): # # Generate presentation outline # presentation_outline = asyncio.run( # generate_ppt_content( # prompt="create presentation about moon", # n_slides=5, # ) # ) # # Save presentation outline to file # with open("tests/tmp/presentation_outline.json", "w") as f: # json.dump(presentation_outline.model_dump(mode="json"), f) # # Load presentation outline from file # with open("tests/tmp/presentation_outline.json", "r") as f: # presentation_outline = PresentationMarkdownModel.model_validate_json(f.read()) # # Generate presentation config # presentation_config = asyncio.run(generate_presentation_config(presentation_outline)) # # Save presentation config to file # with open("tests/tmp/presentation_config.json", "w") as f: # json.dump(presentation_config.model_dump(mode="json"), f) # # Load presentation config from file # with open("tests/tmp/presentation_config.json", "r") as f: # presentation_config = PresentationStructureModel.model_validate_json(f.read()) # # Generate presentation # presentation_output = asyncio.run( # generate_presentation_ollama(presentation_outline) # ) # # Save presentation output to file # with open("tests/tmp/presentation_output.json", "w") as f: # json.dump(presentation_output.model_dump(mode="json"), f) # # Generate slide content # slide_content = asyncio.run( # get_slide_content_from_type_and_outline(9, presentation_outline.slides[3]) # ) # # Save slide content to file # with open("tests/tmp/slide_content.json", "w") as f: # json.dump(slide_content.model_dump(mode="json"), f) pass