pratik-250620/MultiModal-Coherence-AI
2
1from __future__ import annotations2 3from pathlib import Path4 5from src.planner.ollama_llm import OllamaPlannerLLM6from src.planner.schema import SemanticPlan7from src.planner.validation import validate_semantic_plan_dict8 9 10class UnifiedPlannerLLM:11 name = "UnifiedPlannerOllama"12 13 def __init__(self, prompt_path: str = "src/planner/prompts/unified.txt"):14 self.llm = OllamaPlannerLLM()15 self.prompt_template = Path(prompt_path).read_text(encoding="utf-8")16 17 def plan(self, user_prompt: str) -> SemanticPlan:18 prompt = self.prompt_template.replace("{{USER_PROMPT}}", user_prompt)19 data = self.llm.generate_json(prompt)20 validate_semantic_plan_dict(data)21 return SemanticPlan(**data)22 23 24class UnifiedPlanner(UnifiedPlannerLLM):25 pass26 