LlamaOrchestrator constructor
LlamaOrchestrator({
- required LlamaRuntime runtime,
- required String cacheDirectory,
- MemoryPolicy policy = const MemoryPolicy(),
- int sequenceSlots = 1,
- SystemMemoryMonitor? memoryMonitor,
- ModelDownloader? downloader,
- LoggerFactory? loggerFactory,
Creates an orchestrator.
cacheDirectory holds downloaded model artifacts and per-agent disk
snapshots. sequenceSlots asks for that many independent KV
sequences at load (engines without sequence support fall back to 1;
note it disables speculative decoding when > 1). memoryMonitor
defaults to the platform monitor; downloader overrides how
artifacts download (auth, fakes). loggerFactory supplies loggers for
the orchestrator and the chat clients it builds; null logs nothing.
Implementation
LlamaOrchestrator({
required LlamaRuntime runtime,
required String cacheDirectory,
this.policy = const MemoryPolicy(),
int sequenceSlots = 1,
SystemMemoryMonitor? memoryMonitor,
ModelDownloader? downloader,
LoggerFactory? loggerFactory,
}) : _runtime = runtime,
_downloader = downloader,
_cacheDirectory = cacheDirectory,
_defaultSlots = math.max(sequenceSlots, 1),
_requestedSlots = math.max(sequenceSlots, 1),
_monitor = memoryMonitor ?? createSystemMemoryMonitor(),
_snapshots = SnapshotStore(cacheDirectory),
_loggerFactory = loggerFactory,
_logger = (loggerFactory ?? NullLoggerFactory.instance).createLogger(
'LlamaOrchestrator',
);