pub enum RecallScope {
Recent,
Persistent,
All,
}Expand description
Which slice of memory a recall should search.
These doc comments are not documentation for a reader; they are the schema descriptions the model chooses from, and the choice is a hard filter. A model that picks the wrong slice does not get a worse answer, it gets no answer — while lower-relevance records from the slice it did pick come back looking like the best memory has. So each variant says what it excludes, in the vocabulary of a question rather than of this crate’s taxonomy.
Observed before that was true: asked “what did I promise to bring to the
housewarming”, the model chose persistent — a promise feels like a durable
fact — which filters out Commitment, the kind the answer was filed under.
The commitment was excluded, another guest’s plans came back instead, and
the model correctly reported that it did not know.
Variants§
Recent
Only memories with a time attached: things that happened, plans, promises and commitments. Excludes standing facts about the person.
Persistent
Only timeless facts: identity, preferences, relationships, routines, how they like to be spoken to. Excludes anything that happened, and excludes every promise, plan and commitment.
All
Everything. Choose this unless the question is explicitly limited to one of the other two.
Implementations§
Source§impl RecallScope
impl RecallScope
Sourcepub fn kinds(self) -> Vec<MemoryKind>
pub fn kinds(self) -> Vec<MemoryKind>
The memory kinds this scope admits; empty means no restriction.
Trait Implementations§
Source§impl Clone for RecallScope
impl Clone for RecallScope
Source§fn clone(&self) -> RecallScope
fn clone(&self) -> RecallScope
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecallScope
impl Debug for RecallScope
Source§impl Default for RecallScope
impl Default for RecallScope
Source§fn default() -> RecallScope
fn default() -> RecallScope
Source§impl<'de> Deserialize<'de> for RecallScope
impl<'de> Deserialize<'de> for RecallScope
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for RecallScope
impl JsonSchema for RecallScope
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for RecallScope
impl PartialEq for RecallScope
impl Copy for RecallScope
impl Eq for RecallScope
impl StructuralPartialEq for RecallScope
Auto Trait Implementations§
impl Freeze for RecallScope
impl RefUnwindSafe for RecallScope
impl Send for RecallScope
impl Sync for RecallScope
impl Unpin for RecallScope
impl UnwindSafe for RecallScope
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].