#pragma once #include #include #include #include namespace engine::tokenizers { struct TokenizedText { std::string text; std::vector token_ids; }; class ITokenizer { public: virtual ~ITokenizer() = default; virtual std::string family() const = 0; virtual TokenizedText tokenize(const std::string & text) const = 0; }; using TokenizerPtr = std::shared_ptr; } // namespace engine::tokenizers