pub struct GenAiResponse {
pub model: Option<String>,
pub finish_reason: Option<String>,
pub input_tokens: u64,
pub output_tokens: u64,
pub cache_read_tokens: u64,
pub cache_write_tokens: u64,
}Expand description
What a GenAI operation answered, for the span attributes of that name.
Every field is optional or zero-valued because a provider may report any
subset: a wire that names no model leaves model absent rather than
repeating the request’s, which would hide the one substitution the
convention defines gen_ai.response.model to expose.
Fields§
§model: Option<String>The model that actually answered, where the wire says.
finish_reason: Option<String>Why generation stopped, in the provider’s own words.
input_tokens: u64§output_tokens: u64§cache_read_tokens: u64Of input_tokens, how many were served from a provider-managed cache.
cache_write_tokens: u64Of input_tokens, how many were written into one.
Trait Implementations§
Source§impl Clone for GenAiResponse
impl Clone for GenAiResponse
Source§impl Debug for GenAiResponse
impl Debug for GenAiResponse
Source§impl Default for GenAiResponse
impl Default for GenAiResponse
impl Eq for GenAiResponse
Source§impl PartialEq for GenAiResponse
impl PartialEq for GenAiResponse
impl StructuralPartialEq for GenAiResponse
Auto Trait Implementations§
impl Freeze for GenAiResponse
impl RefUnwindSafe for GenAiResponse
impl Send for GenAiResponse
impl Sync for GenAiResponse
impl Unpin for GenAiResponse
impl UnsafeUnpin for GenAiResponse
impl UnwindSafe for GenAiResponse
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,
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
Compare self to
key and return true if they are equal.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 moreCreates a shared type from an unshared type.