pub struct Message {
pub role: Role,
pub content: String,
pub tool_calls: Vec<ToolCall>,
pub tool_call_id: Option<String>,
}Expand description
A single entry in the conversation history.
Fields§
§role: Role§content: String§tool_calls: Vec<ToolCall>Populated on Role::Assistant messages that requested tool calls.
tool_call_id: Option<String>Populated on Role::Tool messages — correlates with a prior ToolCall::id.
Implementations§
Source§impl Message
impl Message
pub fn system(content: impl Into<String>) -> Self
pub fn user(content: impl Into<String>) -> Self
pub fn assistant_text(content: impl Into<String>) -> Self
pub fn assistant_with_tools(calls: Vec<ToolCall>) -> Self
pub fn tool_result(result: &ToolResult) -> Self
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
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
impl StructuralPartialEq for Message
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<T> AsJsonPayloadExt for Twhere
T: Serialize,
impl<T> AsJsonPayloadExt for Twhere
T: Serialize,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FromJsonPayloadExt for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromJsonPayloadExt for Twhere
T: for<'de> Deserialize<'de>,
fn from_json_payload(payload: &Payload) -> Result<T, PayloadDeserializeErr>
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 moreSource§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::RequestSource§impl<T> Message for T
impl<T> Message for T
Source§fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>
Convert a BoxedMessage to this concrete type
Source§fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>
Convert this message to a BoxedMessage
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> TemporalDeserializable for Twhere
T: DeserializeOwned,
impl<T> TemporalDeserializable for Twhere
T: DeserializeOwned,
Source§fn from_serde(
pc: &dyn ErasedSerdePayloadConverter,
context: &SerializationContext<'_>,
payload: Payload,
) -> Result<T, PayloadConversionError>
fn from_serde( pc: &dyn ErasedSerdePayloadConverter, context: &SerializationContext<'_>, payload: Payload, ) -> Result<T, PayloadConversionError>
Deserialize from a serde-based payload converter.
Source§fn from_payload(
ctx: &SerializationContext<'_>,
payload: Payload,
) -> Result<Self, PayloadConversionError>
fn from_payload( ctx: &SerializationContext<'_>, payload: Payload, ) -> Result<Self, PayloadConversionError>
Deserialize from a single
Payload.Source§fn from_payloads(
ctx: &SerializationContext<'_>,
payloads: Vec<Payload>,
) -> Result<Self, PayloadConversionError>
fn from_payloads( ctx: &SerializationContext<'_>, payloads: Vec<Payload>, ) -> Result<Self, PayloadConversionError>
Convert from multiple payloads. Override this for types representing multiple arguments.
Source§impl<T> TemporalSerializable for Twhere
T: Serialize,
impl<T> TemporalSerializable for Twhere
T: Serialize,
Source§fn as_serde(&self) -> Result<&dyn Serialize, PayloadConversionError>
fn as_serde(&self) -> Result<&dyn Serialize, PayloadConversionError>
Return a reference to this value as a serde-serializable trait object.
Source§fn to_payload(
&self,
_: &SerializationContext<'_>,
) -> Result<Payload, PayloadConversionError>
fn to_payload( &self, _: &SerializationContext<'_>, ) -> Result<Payload, PayloadConversionError>
Convert this value into a single
Payload.Source§fn to_payloads(
&self,
ctx: &SerializationContext<'_>,
) -> Result<Vec<Payload>, PayloadConversionError>
fn to_payloads( &self, ctx: &SerializationContext<'_>, ) -> Result<Vec<Payload>, PayloadConversionError>
Convert to multiple payloads. Override this for types representing multiple arguments.