use mullama::{ContextParams, MullamaError, Session};
fn main() -> Result<(), MullamaError> {
println!("Mullama session management example");
println!("Demonstrating session API...");
println!("Creating session with data...");
let session_data = vec![1, 2, 3, 4, 5, 6, 7, 8];
let session = Session {
data: session_data.clone(),
};
println!(" Session created with {} bytes of data", session.data.len());
println!("Working with session data...");
println!(" Session data length: {}", session.data.len());
println!(
" First few bytes: {:?}",
&session.data[..std::cmp::min(4, session.data.len())]
);
println!("Creating context parameters for session management...");
let mut ctx_params = ContextParams::default();
ctx_params.n_ctx = 4096; println!(" Context parameters configured");
println!(" Context size: {}", ctx_params.n_ctx);
println!("Session management concepts:");
println!(" 1. Create sessions to store model state");
println!(" 2. Sessions contain binary data representing the model state");
println!(" 3. Save sessions for later restoration of conversation state");
println!(" 4. Restore sessions to continue from a previous point");
println!(" 5. Use Session::from_context() to capture current state (when implemented)");
println!(" 6. Use Session::save_to_file() and Session::load_from_file() for persistence");
println!("Creating a larger session example...");
let large_session_data = vec![0u8; 1024]; let large_session = Session {
data: large_session_data,
};
println!(
" Large session created with {} bytes",
large_session.data.len()
);
println!("Session management example completed successfully!");
Ok(())
}