Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion crates/higgs-engine/src/model_loader.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
use std::path::{Path, PathBuf};

use higgs_models::{AnyModel, load_tokenizer as shared_load_tokenizer, registry, transformer};
use higgs_models::{
AnyModel, dflash, load_tokenizer as shared_load_tokenizer, registry, transformer,
};

use crate::error::EngineError;

Expand Down Expand Up @@ -95,6 +97,17 @@ pub fn load_tokenizer<P: AsRef<Path>>(model_dir: P) -> Result<tokenizers::Tokeni
shared_load_tokenizer(model_dir).map_err(|e| EngineError::Tokenization(e.to_string()))
}

/// Load a `DFlash` drafter from a model directory.
///
/// The drafter is a small (typically 0.5B) block-diffusion model that the
/// `SimpleEngine` uses to propose draft tokens which the target verifies in a
/// single forward.
pub fn load_dflash_drafter<P: AsRef<Path>>(
model_dir: P,
) -> Result<dflash::DFlashDrafter, EngineError> {
dflash::load_dflash_drafter(model_dir.as_ref()).map_err(EngineError::Model)
}

#[cfg(test)]
#[allow(clippy::panic, clippy::unwrap_used)]
mod tests {
Expand Down
Loading