pub trait ModelCapabilityBackend: TextGenerationBackend {
// Required methods
fn model_capabilities(
runtime: &ModelRuntime<Self>,
) -> Result<ModelCapabilities, CapabilityError>;
fn count_prepared_input(
runtime: &ModelRuntime<Self>,
input: &Self::Prompt,
) -> Result<InputTokenCount, CapabilityError>;
fn estimate_runtime_state(
runtime: &ModelRuntime<Self>,
input: InputTokenCount,
max_output_tokens: u64,
batch_size: u64,
) -> Result<RuntimeStateEstimate, CapabilityError>;
fn static_memory(
runtime: &ModelRuntime<Self>,
) -> Result<StaticMemoryReport, CapabilityError>;
}Expand description
Capability and resource observations for one selected text-model session.
Implementations inspect the opaque model and cache already owned by
ModelRuntime. The contract exposes only portable documents and the
backend’s existing opaque prompt type; tensor, stream, allocator, and
executable types remain inside the adapter.
Required Methods§
Sourcefn model_capabilities(
runtime: &ModelRuntime<Self>,
) -> Result<ModelCapabilities, CapabilityError>
fn model_capabilities( runtime: &ModelRuntime<Self>, ) -> Result<ModelCapabilities, CapabilityError>
Reports validated model capabilities for the selected session.
Sourcefn count_prepared_input(
runtime: &ModelRuntime<Self>,
input: &Self::Prompt,
) -> Result<InputTokenCount, CapabilityError>
fn count_prepared_input( runtime: &ModelRuntime<Self>, input: &Self::Prompt, ) -> Result<InputTokenCount, CapabilityError>
Counts text and backend-specific model positions in a prepared prompt.
Sourcefn estimate_runtime_state(
runtime: &ModelRuntime<Self>,
input: InputTokenCount,
max_output_tokens: u64,
batch_size: u64,
) -> Result<RuntimeStateEstimate, CapabilityError>
fn estimate_runtime_state( runtime: &ModelRuntime<Self>, input: InputTokenCount, max_output_tokens: u64, batch_size: u64, ) -> Result<RuntimeStateEstimate, CapabilityError>
Estimates persistent and transient request state for this session.
Sourcefn static_memory(
runtime: &ModelRuntime<Self>,
) -> Result<StaticMemoryReport, CapabilityError>
fn static_memory( runtime: &ModelRuntime<Self>, ) -> Result<StaticMemoryReport, CapabilityError>
Reports static model storage and current backend memory observations.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".