#pragma once #include "infinicore/nn/module.hpp" #include "../cache/cache.hpp" #include namespace infinilm { class InfinilmModel : public infinicore::nn::Module { public: virtual ~InfinilmModel() = default; virtual infinicore::Tensor forward(std::vector) const = 0; // Optional: reset cache; default no-op for models without cache virtual void reset_cache(size_t pos = 0) {} virtual void reset_cache(const cache::CacheConfig &new_config, size_t pos = 0) = 0; }; } // namespace infinilm