| | """ |
| | 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): |
| | 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." |
| |
|
| | |
| | LLM_REGISTRY = { |
| | "gpt": GPTToy(), |
| | "claude": ClaudeToy(), |
| | "mistral": MistralToy(), |
| | } |