File size: 867 Bytes
b4dc5ac | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | """
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(),
} |