pub struct OpenAIChatMessage {
pub role: OpenAIMessageRole,
pub content: Option<OpenAIMessageContent>,
pub name: Option<String>,
pub tool_calls: Option<Vec<OpenAIToolCall>>,
pub tool_call_id: Option<String>,
}Expand description
OpenAI-compatible chat message with full tool-call replay support.
Fields§
§role: OpenAIMessageRoleThe role of the message author.
content: Option<OpenAIMessageContent>Message content. Assistant tool-call messages may omit content.
name: Option<String>Optional display name.
tool_calls: Option<Vec<OpenAIToolCall>>Assistant tool calls attached to this message.
tool_call_id: Option<String>Tool call ID associated with a tool role message.
Implementations§
Source§impl OpenAIChatMessage
impl OpenAIChatMessage
Sourcepub fn system(content: impl Into<OpenAIMessageContent>) -> Self
pub fn system(content: impl Into<OpenAIMessageContent>) -> Self
Creates a new system message.
Sourcepub fn user(content: impl Into<OpenAIMessageContent>) -> Self
pub fn user(content: impl Into<OpenAIMessageContent>) -> Self
Creates a new user message.
Sourcepub fn assistant(content: impl Into<OpenAIMessageContent>) -> Self
pub fn assistant(content: impl Into<OpenAIMessageContent>) -> Self
Creates a new assistant message.
Sourcepub fn assistant_with_tool_calls(tool_calls: Vec<OpenAIToolCall>) -> Self
pub fn assistant_with_tool_calls(tool_calls: Vec<OpenAIToolCall>) -> Self
Creates an assistant message that only carries tool calls.
Sourcepub fn tool(
tool_call_id: impl Into<String>,
content: impl Into<OpenAIMessageContent>,
) -> Self
pub fn tool( tool_call_id: impl Into<String>, content: impl Into<OpenAIMessageContent>, ) -> Self
Creates a tool result message.
Sourcepub fn with_parts(
role: OpenAIMessageRole,
content: Option<OpenAIMessageContent>,
tool_calls: Option<Vec<OpenAIToolCall>>,
tool_call_id: Option<String>,
) -> Self
pub fn with_parts( role: OpenAIMessageRole, content: Option<OpenAIMessageContent>, tool_calls: Option<Vec<OpenAIToolCall>>, tool_call_id: Option<String>, ) -> Self
Creates a message with full control over optional OpenAI-compatible fields.
Trait Implementations§
Source§impl Clone for OpenAIChatMessage
impl Clone for OpenAIChatMessage
Source§fn clone(&self) -> OpenAIChatMessage
fn clone(&self) -> OpenAIChatMessage
Returns a duplicate of the value. Read more
1.0.0 · 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 OpenAIChatMessage
impl Debug for OpenAIChatMessage
Source§impl<'de> Deserialize<'de> for OpenAIChatMessage
impl<'de> Deserialize<'de> for OpenAIChatMessage
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 OpenAIChatMessage
impl PartialEq for OpenAIChatMessage
Source§impl Serialize for OpenAIChatMessage
impl Serialize for OpenAIChatMessage
impl StructuralPartialEq for OpenAIChatMessage
Auto Trait Implementations§
impl Freeze for OpenAIChatMessage
impl RefUnwindSafe for OpenAIChatMessage
impl Send for OpenAIChatMessage
impl Sync for OpenAIChatMessage
impl Unpin for OpenAIChatMessage
impl UnsafeUnpin for OpenAIChatMessage
impl UnwindSafe for OpenAIChatMessage
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