pub struct Content {
pub parts: Option<Vec<Part>>,
pub role: Option<String>,
}Fields§
§parts: Option<Vec<Part>>§role: Option<String>Implementations§
Source§impl Content
impl Content
Sourcepub fn parts(self, value: impl Into<Vec<Part>>) -> Self
pub fn parts(self, value: impl Into<Vec<Part>>) -> Self
Sets the parts field of this struct.
Examples found in repository?
examples/strm.rs (lines 10-12)
6async fn main() -> google_genai::error::Result<()> {
7 let api_key = env::var("GOOGLEAI_API_KEY").expect("GOOGLE_API_KEY must be set");
8
9 let params =
10 GenerateContentParameters::default().contents(vec![Content::default().parts(vec![
11 Part::default().text("Write a story about a magic backpack."),
12 ])]);
13
14 let request = google_genai::datatypes::GenerateContentReq::default()
15 .contents(params.contents.unwrap())
16 .model(params.model.unwrap());
17
18 let mut stream = google_genai::generate_content_stream(&api_key, request).await?;
19
20 while let Some(response) = stream.next().await {
21 match response {
22 Ok(content) => {
23 if content.candidates.is_none() {
24 // This is our [DONE] marker
25 break;
26 }
27 if let Some(candidates) = content.candidates {
28 for candidate in candidates {
29 if let Some(content) = candidate.content {
30 if let Some(parts) = content.parts {
31 for part in parts {
32 if let Some(text) = part.text {
33 print!("{}", text);
34 }
35 }
36 }
37 }
38 }
39 }
40 }
41 Err(e) => eprintln!("Error: {}", e),
42 }
43 }
44
45 Ok(())
46}Trait Implementations§
Source§impl<'de> Deserialize<'de> for Content
impl<'de> Deserialize<'de> for Content
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 Content
impl RefUnwindSafe for Content
impl Send for Content
impl Sync for Content
impl Unpin for Content
impl UnwindSafe for Content
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