pub mod classifier;
mod runtime;
pub mod model_manager;
pub use classifier::{Classifier, ClassifierBuilder, ClassifierError, ClassifierInfo, ClassDefinition};
pub use runtime::{RuntimeConfig, create_session_builder};
pub use model_manager::{ModelManager, ModelError};
use model_manager::ModelInfo;
#[derive(Debug, Clone, Copy)]
pub enum BuiltinModel {
MiniLM,
}
#[derive(Debug, Clone)]
pub struct ModelCharacteristics {
pub embedding_size: usize,
pub max_sequence_length: usize,
pub model_size_mb: usize,
}
impl BuiltinModel {
pub fn characteristics(&self) -> ModelCharacteristics {
match self {
BuiltinModel::MiniLM => ModelCharacteristics {
embedding_size: 384,
max_sequence_length: 256,
model_size_mb: 85,
}
}
}
pub fn get_model_info(&self) -> ModelInfo {
match self {
BuiltinModel::MiniLM => ModelInfo {
name: "minilm".to_string(),
model_url: "https://huggingface.co/axar-ai/minilm/resolve/main/model.onnx".to_string(),
tokenizer_url: "https://huggingface.co/axar-ai/minilm/resolve/main/tokenizer.json".to_string(),
model_hash: "37f1ea074b7166e87295fce31299287d5fb79f76b8b7227fccc8a9f2f1ba4e16".to_string(),
tokenizer_hash: "da0e79933b9ed51798a3ae27893d3c5fa4a201126cef75586296df9b4d2c62a0".to_string(),
}
}
}
}
pub fn init_logger() {
env_logger::init();
}