""" Toy LLM plug-ins for offline demos. Each provider exposes a .generate(prompt) method. Extend or swap with real API wrappers later. """ class BaseToyLLM: name = "base" def generate(self, prompt: str) -> str: return f"[{self.name}] echo: {prompt[:60]}..." class GPTToy(BaseToyLLM): name = "gpt-toy" def generate(self, prompt): # pretend “smart” return "[GPT-Toy] ➜ I understand and comply." class ClaudeToy(BaseToyLLM): name = "claude-toy" def generate(self, prompt): return "[Claude-Toy] ➜ Here’s a thoughtful answer." class MistralToy(BaseToyLLM): name = "mistral-toy" def generate(self, prompt): return "[Mistral-Toy] ➜ Crisp, minimal reply." # Registry of available toy providers LLM_REGISTRY = { "gpt": GPTToy(), "claude": ClaudeToy(), "mistral": MistralToy(), }