pub struct ModelResponse {
pub id: String,
pub content: Option<String>,
pub tool_calls: Vec<ToolCall>,
pub finish_reason: Option<String>,
pub created_at: DateTime<Utc>,
}Expand description
Encapsulates a response from the LLM, which may include text content and tool calls.
Fields§
§id: StringA unique identifier for the response.
content: Option<String>The text content of the response, if any.
tool_calls: Vec<ToolCall>A list of tool calls requested by the model.
finish_reason: Option<String>The reason why the model stopped generating the response.
created_at: DateTime<Utc>The timestamp of when the response was created.
Implementations§
Source§impl ModelResponse
impl ModelResponse
Sourcepub fn new_message(content: impl Into<String>) -> Self
pub fn new_message(content: impl Into<String>) -> Self
Creates a new ModelResponse that contains only a text message.
Sourcepub fn new_tool_calls(tool_calls: Vec<ToolCall>) -> Self
pub fn new_tool_calls(tool_calls: Vec<ToolCall>) -> Self
Creates a new ModelResponse that contains one or more tool calls.
Sourcepub fn has_tool_calls(&self) -> bool
pub fn has_tool_calls(&self) -> bool
Returns true if the response contains any tool calls.
Sourcepub fn has_content(&self) -> bool
pub fn has_content(&self) -> bool
Returns true if the response has non-empty text content.
Trait Implementations§
Source§impl Clone for ModelResponse
impl Clone for ModelResponse
Source§fn clone(&self) -> ModelResponse
fn clone(&self) -> ModelResponse
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 ModelResponse
impl Debug for ModelResponse
Source§impl<'de> Deserialize<'de> for ModelResponse
impl<'de> Deserialize<'de> for ModelResponse
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 ModelResponse
impl RefUnwindSafe for ModelResponse
impl Send for ModelResponse
impl Sync for ModelResponse
impl Unpin for ModelResponse
impl UnsafeUnpin for ModelResponse
impl UnwindSafe for ModelResponse
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more