| from __future__ import annotations |
|
|
| import os |
| import sys |
| from pathlib import Path |
|
|
| REPO_ROOT = Path(__file__).resolve().parents[1] |
| if str(REPO_ROOT) not in sys.path: |
| sys.path.insert(0, str(REPO_ROOT)) |
|
|
| from src.services.customization_service import customize_presentation |
|
|
|
|
| def main() -> int: |
| repo_root = REPO_ROOT |
| template = repo_root / "templates" / "base_template.pptx" |
|
|
| backend = os.getenv("MODEL_BACKEND", "llama.cpp") |
| os.environ.setdefault("MODEL_BACKEND", backend) |
|
|
| if backend == "llama.cpp" and not os.getenv("LLAMA_CPP_MODEL_PATH"): |
| candidates = [ |
| repo_root / "models" / "gemma-4-12b-it-Q4_K_M.gguf", |
| repo_root / "models" / "Gemma-4-12b-it-Q4_K_M.gguf", |
| repo_root / "models" / "Qwen2.5-0.5B-Instruct-Q4_K_M.gguf", |
| ] |
| for candidate in candidates: |
| if candidate.exists(): |
| os.environ["LLAMA_CPP_MODEL_PATH"] = str(candidate) |
| break |
|
|
| output = customize_presentation( |
| str(template), |
| "Create a compact 3-slide executive summary about smart warehousing automation.", |
| ) |
|
|
| output_path = Path(output) |
| print(f"backend={backend}") |
| print(f"generated={output_path}") |
| print(f"exists={output_path.exists()}") |
| return 0 if output_path.exists() else 1 |
|
|
|
|
| if __name__ == "__main__": |
| raise SystemExit(main()) |
|
|