Expand description
Procedural macros for Kizzasi AGSP.
This crate provides derive macros to simplify working with Kizzasi predictors and custom configurations.
§Derive Macros
§#[derive(KizzasiConfig)]
Automatically implements builder pattern and validation for custom configurations.
ⓘ
use kizzasi_macros::KizzasiConfig;
#[derive(KizzasiConfig)]
struct MyCustomConfig {
#[config(default = 4096)]
context_window: usize,
#[config(validate = "validate_dim")]
hidden_dim: usize,
learning_rate: f64,
}
fn validate_dim(dim: &usize) -> Result<(), String> {
if *dim > 0 && *dim % 64 == 0 {
Ok(())
} else {
Err("Dimension must be positive and divisible by 64".into())
}
}§#[derive(Preset)]
Generates preset constructor functions for common configurations.
ⓘ
use kizzasi_macros::Preset;
#[derive(Preset)]
#[preset(name = "audio", context_window = 8192, hidden_dim = 256)]
#[preset(name = "video", context_window = 16384, hidden_dim = 512)]
struct ModelConfig {
context_window: usize,
hidden_dim: usize,
}
// Generated:
// impl ModelConfig {
// pub fn audio_preset() -> Self { ... }
// pub fn video_preset() -> Self { ... }
// }Derive Macros§
- Instrumented
- Derive macro for metrics instrumentation.
- Kizzasi
Config - Derive macro for custom Kizzasi configurations.
- Preset
- Derive macro for generating preset constructors.