pub enum UserContent {
Text(Text),
ToolResult(ToolResult),
Image(Image),
Audio(Audio),
Video(Video),
Document(Document),
}Expand description
Describes the content of a message, which can be text, a tool result, an image, audio, or a document. Dependent on provider supporting the content type. Multimedia content is generally base64 (defined by it’s format) encoded but additionally supports urls (for some providers).
Variants§
Text(Text)
Plain text user content.
ToolResult(ToolResult)
Result of a tool call returned as user-visible context to the model.
Image(Image)
Image content.
Audio(Audio)
Audio content.
Video(Video)
Video content.
Document(Document)
Document content.
Implementations§
Source§impl UserContent
impl UserContent
Sourcepub fn text(text: impl Into<String>) -> UserContent
pub fn text(text: impl Into<String>) -> UserContent
Helper constructor to make creating user text content easier.
Sourcepub fn image_base64(
data: impl Into<String>,
media_type: Option<ImageMediaType>,
detail: Option<ImageDetail>,
) -> UserContent
pub fn image_base64( data: impl Into<String>, media_type: Option<ImageMediaType>, detail: Option<ImageDetail>, ) -> UserContent
Helper constructor to make creating user image content easier.
Sourcepub fn image_raw(
data: impl Into<Vec<u8>>,
media_type: Option<ImageMediaType>,
detail: Option<ImageDetail>,
) -> UserContent
pub fn image_raw( data: impl Into<Vec<u8>>, media_type: Option<ImageMediaType>, detail: Option<ImageDetail>, ) -> UserContent
Helper constructor to make creating user image content from raw unencoded bytes easier.
Sourcepub fn image_url(
url: impl Into<String>,
media_type: Option<ImageMediaType>,
detail: Option<ImageDetail>,
) -> UserContent
pub fn image_url( url: impl Into<String>, media_type: Option<ImageMediaType>, detail: Option<ImageDetail>, ) -> UserContent
Helper constructor to make creating user image content easier.
Sourcepub fn audio(
data: impl Into<String>,
media_type: Option<AudioMediaType>,
) -> UserContent
pub fn audio( data: impl Into<String>, media_type: Option<AudioMediaType>, ) -> UserContent
Helper constructor to make creating user audio content easier.
Sourcepub fn audio_raw(
data: impl Into<Vec<u8>>,
media_type: Option<AudioMediaType>,
) -> UserContent
pub fn audio_raw( data: impl Into<Vec<u8>>, media_type: Option<AudioMediaType>, ) -> UserContent
Helper constructor to make creating user audio content from raw unencoded bytes easier.
Sourcepub fn audio_url(
url: impl Into<String>,
media_type: Option<AudioMediaType>,
) -> UserContent
pub fn audio_url( url: impl Into<String>, media_type: Option<AudioMediaType>, ) -> UserContent
Helper to create an audio resource from a URL
Sourcepub fn video(
data: impl Into<String>,
media_type: Option<VideoMediaType>,
) -> UserContent
pub fn video( data: impl Into<String>, media_type: Option<VideoMediaType>, ) -> UserContent
Helper constructor to make creating user video content easier.
Sourcepub fn video_raw(
data: impl Into<Vec<u8>>,
media_type: Option<VideoMediaType>,
) -> UserContent
pub fn video_raw( data: impl Into<Vec<u8>>, media_type: Option<VideoMediaType>, ) -> UserContent
Helper constructor to make creating user video content from raw unencoded bytes easier.
Sourcepub fn video_url(
url: impl Into<String>,
media_type: Option<VideoMediaType>,
) -> UserContent
pub fn video_url( url: impl Into<String>, media_type: Option<VideoMediaType>, ) -> UserContent
Helper to create a video resource from a URL
Sourcepub fn document(
data: impl Into<String>,
media_type: Option<DocumentMediaType>,
) -> UserContent
pub fn document( data: impl Into<String>, media_type: Option<DocumentMediaType>, ) -> UserContent
Helper constructor to make creating user document content easier. This creates a document that assumes the data being passed in is a raw string.
Sourcepub fn document_raw(
data: impl Into<Vec<u8>>,
media_type: Option<DocumentMediaType>,
) -> UserContent
pub fn document_raw( data: impl Into<Vec<u8>>, media_type: Option<DocumentMediaType>, ) -> UserContent
Helper to create a document from raw unencoded bytes
Sourcepub fn document_url(
url: impl Into<String>,
media_type: Option<DocumentMediaType>,
) -> UserContent
pub fn document_url( url: impl Into<String>, media_type: Option<DocumentMediaType>, ) -> UserContent
Helper to create a document from a URL
Sourcepub fn tool_result(
id: impl Into<String>,
content: OneOrMany<ToolResultContent>,
) -> UserContent
pub fn tool_result( id: impl Into<String>, content: OneOrMany<ToolResultContent>, ) -> UserContent
Helper constructor to make creating user tool result content easier.
Sourcepub fn tool_result_with_call_id(
id: impl Into<String>,
call_id: String,
content: OneOrMany<ToolResultContent>,
) -> UserContent
pub fn tool_result_with_call_id( id: impl Into<String>, call_id: String, content: OneOrMany<ToolResultContent>, ) -> UserContent
Helper constructor to make creating user tool result content easier.
Trait Implementations§
Source§impl Clone for UserContent
impl Clone for UserContent
Source§fn clone(&self) -> UserContent
fn clone(&self) -> UserContent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more