pub struct ModelSummary {Show 13 fields
pub id: u32,
pub name: String,
pub tags: Vec<String>,
pub capabilities: ModelCapabilities,
pub param_count: String,
pub quantization: Option<String>,
pub architecture: Option<String>,
pub created_at: i64,
pub file_size: u64,
pub context_length: Option<u64>,
pub inference_defaults: Option<InferenceConfig>,
pub defaults_origin: Option<DefaultsOrigin>,
pub server_defaults: Option<ServerConfig>,
}Expand description
Domain model summary for catalog operations (listing).
This is a domain type (not an OpenAI API type). The proxy layer
is responsible for mapping this to OpenAI-compatible formats.
Note: Does NOT include file_path to avoid leaking filesystem details
in catalog/listing operations.
Fields§
§id: u32Database ID of the model.
name: StringModel name (used as identifier).
Tags/labels associated with the model.
capabilities: ModelCapabilitiesDetected and persisted capability flags for this model.
This is the single source of truth for model behaviour constraints (strict-turn alternation, system-role support, tool calls, reasoning). The proxy uses these directly rather than inferring from tags at request time, eliminating the split-brain between tags and capabilities.
param_count: StringParameter count as string (e.g., “7B”, “13B”, “70B”).
quantization: Option<String>Quantization type (e.g., “Q4_K_M”, “Q8_0”).
architecture: Option<String>Model architecture (e.g., “llama”, “mistral”, “qwen2”).
created_at: i64Unix timestamp when the model was added.
file_size: u64File size in bytes.
context_length: Option<u64>Maximum context length the model supports, in tokens (from GGUF
metadata). None when unknown.
This is a static, per-model ceiling — it does not reflect the
--ctx-size a currently-running instance was actually launched
with, which can be smaller (see gglib_core::ports::model_runtime::RunningTarget::effective_ctx
for the live value). Consumers that need the true, currently-running
context size should prefer effective_ctx when the model is running
and fall back to this field otherwise.
inference_defaults: Option<InferenceConfig>Per-model inference parameter defaults.
When Some, these are resolved per-request via
InferenceConfig::resolve_with_defaults before forwarding to llama-server.
Used by gglib proxy to inject resolved defaults into OpenAI-format
request bodies, and by the agentic loop (gglib chat, gglib q) to
apply model-specific sampling parameters.
defaults_origin: Option<DefaultsOrigin>Whether Self::inference_defaults was set by the user or
auto-detected. See DefaultsOrigin and
InferenceConfig::resolve_with_profile.
server_defaults: Option<ServerConfig>Per-model server defaults (context_length, etc.) from the database.
Implementations§
Source§impl ModelSummary
impl ModelSummary
Sourcepub fn description(&self) -> String
pub fn description(&self) -> String
Create a description string for this model.
Trait Implementations§
Source§impl Clone for ModelSummary
impl Clone for ModelSummary
Source§fn clone(&self) -> ModelSummary
fn clone(&self) -> ModelSummary
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more