pub struct RewardSignal {
pub quality_score: f64,
pub cost_penalty: f64,
pub latency_penalty: f64,
pub reward: f64,
}Expand description
Composite reward derived from a single Feedback record.
Formula: quality_score * 0.5 - cost_penalty * 0.3 - latency_penalty * 0.2
Fields§
§quality_score: f64Raw quality score in [0, 1] (equal to feedback.rating).
cost_penalty: f64Normalised cost penalty proportional to tokens used (range [0, 1]).
latency_penalty: f64Normalised latency penalty (range [0, 1]).
reward: f64Final composite reward value.
Implementations§
Source§impl RewardSignal
impl RewardSignal
Sourcepub fn from_feedback(
feedback: &Feedback,
max_tokens: u64,
max_latency_ms: u64,
) -> Self
pub fn from_feedback( feedback: &Feedback, max_tokens: u64, max_latency_ms: u64, ) -> Self
Compute a RewardSignal from a raw Feedback record.
max_tokens and max_latency_ms are used to normalise the penalties
into [0, 1]. If either is zero the corresponding penalty is 0.
Trait Implementations§
Source§impl Clone for RewardSignal
impl Clone for RewardSignal
Source§fn clone(&self) -> RewardSignal
fn clone(&self) -> RewardSignal
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RewardSignal
impl RefUnwindSafe for RewardSignal
impl Send for RewardSignal
impl Sync for RewardSignal
impl Unpin for RewardSignal
impl UnsafeUnpin for RewardSignal
impl UnwindSafe for RewardSignal
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request