SHOREKEEPER / src /council /experts.py
geoore's picture
Restructure to src/ layout with attention, per-layer MoE, and working chat
73400c8
import torch
import torch.nn as nn
from .base_expert import BaseExpert
class Asmoday(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "code", "python_development")
self.code_bias = nn.Parameter(torch.ones(1) * 0.5)
class Istaroth(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "systems", "os_networking")
class Ronova(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "reasoning", "math_logic")
self.logic_bias = nn.Parameter(torch.ones(1) * 0.3)
class Naberius(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "memory", "retrieval")
self.memory_gate = nn.Linear(dim, 1)
class Phanes(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "creation", "writing")
self.creative_temp = nn.Parameter(torch.ones(1) * 1.2)
class Barbeloth(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "analysis", "data_patterns")
class Tacet(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "silence", "filtering")
self.noise_gate = nn.Linear(dim, 1)
class Abby(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "empathy", "user_context")
self.empathy_bias = nn.Parameter(torch.ones(1) * 0.2)
class Reindoter(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "validation", "testing")
class Zestial(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "vision", "visualization")
class Alice(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "exploration", "novelty")
self.exploration_temp = nn.Parameter(torch.ones(1) * 1.5)
class Rover(BaseExpert):
def __init__(self, dim: int, expert_dim: int):
super().__init__(dim, expert_dim, "execution", "terminal")
EXPERT_REGISTRY = {
"Asmoday": Asmoday,
"Istaroth": Istaroth,
"Ronova": Ronova,
"Naberius": Naberius,
"Phanes": Phanes,
"Barbeloth": Barbeloth,
"Tacet": Tacet,
"Abby": Abby,
"Reindoter": Reindoter,
"Zestial": Zestial,
"Alice": Alice,
"Rover": Rover,
}