use mullama::{Batch, ContextParams, MullamaError};
fn main() -> Result<(), MullamaError> {
println!("Mullama batch processing example");
println!("Demonstrating batch API...");
println!("Creating batch...");
let _batch = Batch::new(1024, 0, 4); println!(" Batch created with capacity for {} tokens", 1024);
println!("Creating batch from tokens...");
let tokens = vec![1, 2, 3, 4, 5];
let token_batch = Batch::from_tokens(&tokens);
println!(" Batch created from {} tokens", tokens.len());
println!(" Batch is empty: {}", token_batch.is_empty());
println!(" Batch length: {}", token_batch.len());
println!("Creating context parameters for batch processing...");
let mut ctx_params = ContextParams::default();
ctx_params.n_batch = 512; ctx_params.n_ctx = 2048; println!(" Context parameters configured");
println!(" Batch size: {}", ctx_params.n_batch);
println!(" Context size: {}", ctx_params.n_ctx);
println!("Batch processing concepts:");
println!(" 1. Create batches of tokens for efficient processing");
println!(" 2. Use Batch::new(max_tokens, embd, max_seq) for custom batches");
println!(" 3. Use Batch::from_tokens(tokens) for simple token sequences");
println!(" 4. Configure context with appropriate batch size");
println!(" 5. Process batches with context.decode_batch() (when implemented)");
println!("Batch example completed successfully!");
Ok(())
}