use super::RuntimeAlpha;
use crate::{inference::InferenceEngine, parameters::Parameters};
use anyhow::Result;
use navm::vm::VmLauncher;
#[derive(Debug, Clone)]
pub struct LauncherAlpha {
name: String,
hyper_parameters: Parameters,
inference_engine: InferenceEngine,
}
impl LauncherAlpha {
pub fn new(
name: impl Into<String>,
hyper_parameters: Parameters,
inference_engine: InferenceEngine,
) -> Self {
Self {
name: name.into(),
hyper_parameters,
inference_engine,
}
}
}
impl VmLauncher for LauncherAlpha {
type Runtime = RuntimeAlpha;
fn launch(self) -> Result<Self::Runtime> {
let runtime = RuntimeAlpha::new(self.name, self.hyper_parameters, self.inference_engine);
Ok(runtime)
}
}