pub struct ResolvedModels {
pub llm: ResolvedLlm,
pub embeddings: ResolvedEmbeddings,
pub reranker: ResolvedReranker,
}Expand description
v0.7.x (issue #1168) — bundle the three model-resolver outputs into
a single triple consumed by the capabilities surface. Lets callers
thread ONE struct through handle_capabilities_with_conn /
handle_capabilities_with_conn_v3 / build_capabilities_overlay
instead of three independent borrows, and makes the contract loud:
memory_capabilities.models.* reflects the operator-resolved
configuration, NEVER the compiled tier preset.
Production constructor: AppConfig::resolve_models.
Test / back-compat constructor: ResolvedModels::from_tier_preset.
Fields§
§llm: ResolvedLlmResolved LLM configuration (AppConfig::resolve_llm).
embeddings: ResolvedEmbeddingsResolved embedder configuration (AppConfig::resolve_embeddings).
reranker: ResolvedRerankerResolved reranker configuration (AppConfig::resolve_reranker).
Implementations§
Source§impl ResolvedModels
impl ResolvedModels
Sourcepub fn from_tier_preset(tier: &TierConfig) -> Self
pub fn from_tier_preset(tier: &TierConfig) -> Self
Back-compat constructor: synthesise a ResolvedModels triple
from the compiled TierConfig preset alone.
Yields the same CapabilityModels byte-for-byte that the
pre-#1168 TierConfig::capabilities() produced, so legacy
callers + tests that scaffold a TierConfig in isolation (no
AppConfig available) continue to assert their original
strings. The synthesised triple carries
ConfigSource::CompiledDefault on every leaf so observers can
distinguish a back-compat scaffold from an operator-resolved
production triple.
Production paths that have access to the operator
AppConfig MUST use AppConfig::resolve_models instead.
Using this helper in a production wrapper re-introduces the
#1168 drift (the capabilities surface would report the tier
preset instead of the operator-configured backend / model).
Trait Implementations§
Source§impl Clone for ResolvedModels
impl Clone for ResolvedModels
Source§fn clone(&self) -> ResolvedModels
fn clone(&self) -> ResolvedModels
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResolvedModels
impl Debug for ResolvedModels
Source§impl Default for ResolvedModels
Compiled-default ResolvedModels triple. Equivalent to running
the resolvers against an AppConfig::default — Ollama backend,
no operator overrides, no API key, reranker disabled. Convenient
for test scaffolds that need a ResolvedModels value but don’t
care about its contents.
impl Default for ResolvedModels
Compiled-default ResolvedModels triple. Equivalent to running
the resolvers against an AppConfig::default — Ollama backend,
no operator overrides, no API key, reranker disabled. Convenient
for test scaffolds that need a ResolvedModels value but don’t
care about its contents.
impl Eq for ResolvedModels
Source§impl PartialEq for ResolvedModels
impl PartialEq for ResolvedModels
Source§fn eq(&self, other: &ResolvedModels) -> bool
fn eq(&self, other: &ResolvedModels) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ResolvedModels
Auto Trait Implementations§
impl Freeze for ResolvedModels
impl RefUnwindSafe for ResolvedModels
impl Send for ResolvedModels
impl Sync for ResolvedModels
impl Unpin for ResolvedModels
impl UnsafeUnpin for ResolvedModels
impl UnwindSafe for ResolvedModels
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more