pub struct AssistantMessage {
pub id: MessageId,
pub content: Vec<AssistantBlock>,
pub model: String,
pub provider: String,
pub finish_reason: FinishReason,
pub usage: Option<Usage>,
pub timestamp: DateTime<Utc>,
}Expand description
LLM 回复消息。
直接携带 model、provider、usage 等上下文信息,
便于多模型场景下追踪每轮回复的来源和开销。
Fields§
§id: MessageId消息唯一标识
content: Vec<AssistantBlock>内容块数组(文本、推理、工具调用)
model: String使用的模型标识(如 "gpt-4o", "claude-sonnet-4-20250514")
provider: StringProvider 标识(如 "openai", "anthropic")
finish_reason: FinishReason停止原因
usage: Option<Usage>Token 用量统计
timestamp: DateTime<Utc>创建时间
Implementations§
Source§impl AssistantMessage
impl AssistantMessage
Sourcepub fn tool_calls(&self) -> Vec<&AssistantBlock>
pub fn tool_calls(&self) -> Vec<&AssistantBlock>
提取所有工具调用。
Sourcepub fn has_tool_calls(&self) -> bool
pub fn has_tool_calls(&self) -> bool
是否包含工具调用。
Trait Implementations§
Source§impl Clone for AssistantMessage
impl Clone for AssistantMessage
Source§fn clone(&self) -> AssistantMessage
fn clone(&self) -> AssistantMessage
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 moreSource§impl Debug for AssistantMessage
impl Debug for AssistantMessage
Source§impl<'de> Deserialize<'de> for AssistantMessage
impl<'de> Deserialize<'de> for AssistantMessage
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
Source§impl PartialEq for AssistantMessage
impl PartialEq for AssistantMessage
Source§fn eq(&self, other: &AssistantMessage) -> bool
fn eq(&self, other: &AssistantMessage) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for AssistantMessage
impl Serialize for AssistantMessage
impl StructuralPartialEq for AssistantMessage
Auto Trait Implementations§
impl Freeze for AssistantMessage
impl RefUnwindSafe for AssistantMessage
impl Send for AssistantMessage
impl Sync for AssistantMessage
impl Unpin for AssistantMessage
impl UnsafeUnpin for AssistantMessage
impl UnwindSafe for AssistantMessage
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