#pragma once #include "rust/cxx.h" #include namespace tabby { class TextInferenceEngine { public: virtual ~TextInferenceEngine(); virtual rust::Vec inference( rust::Slice tokens, size_t max_decoding_length, float sampling_temperature, size_t beam_size ) const = 0; }; std::unique_ptr create_engine( rust::Str model_path, rust::Str device, rust::Slice device_indices, size_t num_replicas_per_device ); } // namespace