pub struct StreamDelta {
pub role: Option<MessageRole>,
pub content: Option<String>,
pub thinking: Option<ThinkingDelta>,
pub tool_calls: Option<Vec<ToolCallDelta>>,
pub function_call: Option<FunctionCallDelta>,
pub audio: Option<AudioDelta>,
}Expand description
Streaming delta content
Fields§
§role: Option<MessageRole>Role (usually only appears in first chunk)
content: Option<String>Content delta
thinking: Option<ThinkingDelta>Thinking/reasoning delta (for thinking-enabled models)
When streaming from thinking models, thinking content may arrive before or alongside the main content. Use this field to track the model’s reasoning process in real-time.
tool_calls: Option<Vec<ToolCallDelta>>Tool call delta
function_call: Option<FunctionCallDelta>Function call delta (backward compatibility)
audio: Option<AudioDelta>Audio output delta.
Implementations§
Source§impl ChatDelta
impl ChatDelta
Sourcepub fn has_thinking(&self) -> bool
pub fn has_thinking(&self) -> bool
Check if this delta contains thinking content
Sourcepub fn thinking_content(&self) -> Option<&str>
pub fn thinking_content(&self) -> Option<&str>
Get thinking content if present
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ChatDelta
impl<'de> Deserialize<'de> for ChatDelta
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ChatDelta
impl RefUnwindSafe for ChatDelta
impl Send for ChatDelta
impl Sync for ChatDelta
impl Unpin for ChatDelta
impl UnsafeUnpin for ChatDelta
impl UnwindSafe for ChatDelta
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
Source§impl<T> BudgetAwareRouting for T
impl<T> BudgetAwareRouting for T
Source§fn filter_by_budget(
&self,
providers: Vec<String>,
budget_router: &BudgetAwareRouter,
) -> Vec<String>
fn filter_by_budget( &self, providers: Vec<String>, budget_router: &BudgetAwareRouter, ) -> Vec<String>
Filter providers based on budget availability
Source§impl<T> CacheValue for T
impl<T> CacheValue for T
Source§fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
fn from_bytes(bytes: &[u8]) -> Result<T, CacheError>
Deserialize from bytes
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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.