library CB-GPU; library CB-GenerationOptimized; fn CB-GenerationOptimized.prepare(string datasetPath, string indexPath) -> u256 { CB-GenerationOptimized.build_index(datasetPath, indexPath); return CB-GenerationOptimized.warm(indexPath); } fn CB-GenerationOptimized.tag(string text) -> u256 { return CB-GenerationOptimized.tag_mask(text); } fn CB-GenerationOptimized.retrieve(string query) -> string { return CB-GenerationOptimized.query(query); } fn CB-GenerationOptimized.retrieve_gpu(string query, u256 maxVramMb) -> string { CB-GPU.set_budget_mb(maxVramMb); return CB-GenerationOptimized.query_gpu(query); } fn CB-GenerationOptimized.retrieve_cpu(string query) -> string { return CB-GenerationOptimized.query_cpu(query); } fn CB-GenerationOptimized.prepare_gpu(string datasetPath, string indexPath, u256 budgetMb) -> u256 { CB-GPU.set_budget_mb(budgetMb); CB-GenerationOptimized.build_index(datasetPath, indexPath); return CB-GenerationOptimized.warm(indexPath); } fn CB-GenerationOptimized.status() -> string { return CB-GenerationOptimized.last_backend() + " hits=" + CB-GenerationOptimized.cache_hits() + " misses=" + CB-GenerationOptimized.cache_misses(); }