pub struct MultiModalContent {
pub parts: Vec<ContentPart>,
}Expand description
An ordered collection of ContentPart values.
Fields§
§parts: Vec<ContentPart>Ordered parts comprising this message.
Implementations§
Source§impl MultiModalContent
impl MultiModalContent
Sourcepub fn text_only(&self) -> String
pub fn text_only(&self) -> String
Concatenate all ContentPart::Text and ContentPart::AudioTranscript
parts into a single string separated by spaces.
Sourcepub fn token_estimate(&self) -> usize
pub fn token_estimate(&self) -> usize
Rough token estimate for the entire content.
- Text / AudioTranscript:
word_count / 0.75(≈ 1.33 tokens/word) - ImageUrl: 85 tokens (fixed OpenAI estimate)
- CodeSnippet:
code.len() / 4(≈ 4 chars/token) - DataTable: sum of all cell lengths divided by 4
Sourcepub fn has_images(&self) -> bool
pub fn has_images(&self) -> bool
Returns true if any part is an ContentPart::ImageUrl.
Sourcepub fn has_code(&self) -> bool
pub fn has_code(&self) -> bool
Returns true if any part is a ContentPart::CodeSnippet.
Trait Implementations§
Source§impl Clone for MultiModalContent
impl Clone for MultiModalContent
Source§fn clone(&self) -> MultiModalContent
fn clone(&self) -> MultiModalContent
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 MultiModalContent
impl Debug for MultiModalContent
Source§impl Default for MultiModalContent
impl Default for MultiModalContent
Source§fn default() -> MultiModalContent
fn default() -> MultiModalContent
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MultiModalContent
impl<'de> Deserialize<'de> for MultiModalContent
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 MultiModalContent
impl PartialEq for MultiModalContent
Source§fn eq(&self, other: &MultiModalContent) -> bool
fn eq(&self, other: &MultiModalContent) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for MultiModalContent
impl Serialize for MultiModalContent
impl StructuralPartialEq for MultiModalContent
Auto Trait Implementations§
impl Freeze for MultiModalContent
impl RefUnwindSafe for MultiModalContent
impl Send for MultiModalContent
impl Sync for MultiModalContent
impl Unpin for MultiModalContent
impl UnsafeUnpin for MultiModalContent
impl UnwindSafe for MultiModalContent
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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>,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§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::Request