pub struct ChainLink {
pub coordinate: TrajectoryCoordinate5D,
pub embedding: Vec<f32>,
pub link_type: LinkType,
pub influence: f32,
pub is_user: bool,
pub attention: Option<AttentionWeights>,
pub id: Option<String>,
}Expand description
A link in a response chain with coordinates, embedding, and metadata.
Fields§
§coordinate: TrajectoryCoordinate5DPosition in trajectory
embedding: Vec<f32>Semantic embedding
link_type: LinkTypeType of link
influence: f32Influence weight (0-1)
is_user: boolWhether this is a user message
attention: Option<AttentionWeights>Attention weights (if computed)
id: Option<String>Optional identifier
Implementations§
Source§impl ChainLink
impl ChainLink
Sourcepub fn new(
coordinate: TrajectoryCoordinate5D,
embedding: Vec<f32>,
link_type: LinkType,
) -> Self
pub fn new( coordinate: TrajectoryCoordinate5D, embedding: Vec<f32>, link_type: LinkType, ) -> Self
Create a new chain link.
Sourcepub fn with_metadata(
coordinate: TrajectoryCoordinate5D,
embedding: Vec<f32>,
link_type: LinkType,
influence: f32,
is_user: bool,
) -> Self
pub fn with_metadata( coordinate: TrajectoryCoordinate5D, embedding: Vec<f32>, link_type: LinkType, influence: f32, is_user: bool, ) -> Self
Create with full metadata.
Sourcepub fn with_attention(self, attention: AttentionWeights) -> Self
pub fn with_attention(self, attention: AttentionWeights) -> Self
Set attention weights.
Sourcepub fn semantic_similarity(&self, other: &Self) -> f32
pub fn semantic_similarity(&self, other: &Self) -> f32
Compute semantic similarity to another link.
Sourcepub fn coordinate_distance(&self, other: &Self, weights: &DLMWeights) -> f32
pub fn coordinate_distance(&self, other: &Self, weights: &DLMWeights) -> f32
Compute coordinate distance to another link.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ChainLink
impl RefUnwindSafe for ChainLink
impl Send for ChainLink
impl Sync for ChainLink
impl Unpin for ChainLink
impl UnwindSafe for ChainLink
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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>
Converts
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>
Converts
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.