LaunchLLM / domain_templates /base_domain.py
Bmccloud22's picture
Deploy LaunchLLM - Production AI Training Platform
ec8f374 verified
raw
history blame
2.13 kB
"""
Base domain template class for AURA AI training system.
"""
from abc import ABC, abstractmethod
from typing import List
class BaseDomain(ABC):
"""
Abstract base class for domain templates.
Each domain provides:
- Name and description
- Icon for UI display
- Topic lists for training data generation
- System prompts for model behavior
"""
def __init__(self):
self._name = ""
self._description = ""
self._icon = ""
@property
def name(self) -> str:
"""Domain name (human-readable)"""
return self._name
@property
def description(self) -> str:
"""Domain description"""
return self._description
@property
def icon(self) -> str:
"""Domain icon (emoji)"""
return self._icon
@abstractmethod
def get_topics(self) -> List[str]:
"""
Get list of topics for this domain.
Returns:
List of topic strings for training data generation
"""
pass
@abstractmethod
def get_system_prompt(self) -> str:
"""
Get system prompt for this domain.
Returns:
System prompt string that defines model behavior
"""
pass
def get_example_questions(self) -> List[str]:
"""
Get example questions for this domain.
Returns:
List of example questions for testing
"""
return []
def get_specialized_tools(self) -> List[dict]:
"""
Get specialized tools for this domain.
Returns:
List of tool definitions for function calling
"""
return []
def get_tools(self) -> List[dict]:
"""
Get tools for this domain (alias for get_specialized_tools).
Returns:
List of tool definitions for function calling
"""
return self.get_specialized_tools()
def get_benchmarks(self) -> List[dict]:
"""
Get pre-built benchmarks for this domain.
Returns:
List of benchmark definitions
"""
return []