pub struct GenerateContentParameters {
pub model: Option<String>,
pub contents: Option<Vec<Content>>,
pub config: Option<GenerateContentConfig>,
}Fields§
§model: Option<String>§contents: Option<Vec<Content>>§config: Option<GenerateContentConfig>Implementations§
Source§impl GenerateContentParameters
impl GenerateContentParameters
Sourcepub fn model(self, value: impl Into<String>) -> Self
pub fn model(self, value: impl Into<String>) -> Self
Sets the model field of this struct.
Examples found in repository?
examples/req.rs (line 15)
4async fn main() -> google_genai::error::Result<()> {
5 let api_key = std::env::var("GOOGLEAI_API_KEY")
6 .expect("GOOGLEAI_API_KEY environment variable must be set");
7
8 let params = GenerateContentParameters::default()
9 .contents(vec![Content {
10 parts: Some(vec![
11 Part::default().text("Tell me a joke about programming.")
12 ]),
13 role: Some("user".to_string()),
14 }])
15 .model("gemini-exp-1206");
16
17 let request = google_genai::datatypes::GenerateContentReq::default()
18 .contents(params.contents.unwrap())
19 .model(params.model.unwrap());
20
21 let response = google_genai::generate_content(&api_key, request).await?;
22
23 println!("Response: {:#?}", response);
24
25 Ok(())
26}Sourcepub fn contents(self, value: impl Into<Vec<Content>>) -> Self
pub fn contents(self, value: impl Into<Vec<Content>>) -> Self
Sets the contents field of this struct.
Examples found in repository?
examples/req.rs (lines 9-14)
4async fn main() -> google_genai::error::Result<()> {
5 let api_key = std::env::var("GOOGLEAI_API_KEY")
6 .expect("GOOGLEAI_API_KEY environment variable must be set");
7
8 let params = GenerateContentParameters::default()
9 .contents(vec![Content {
10 parts: Some(vec![
11 Part::default().text("Tell me a joke about programming.")
12 ]),
13 role: Some("user".to_string()),
14 }])
15 .model("gemini-exp-1206");
16
17 let request = google_genai::datatypes::GenerateContentReq::default()
18 .contents(params.contents.unwrap())
19 .model(params.model.unwrap());
20
21 let response = google_genai::generate_content(&api_key, request).await?;
22
23 println!("Response: {:#?}", response);
24
25 Ok(())
26}More examples
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}Sourcepub fn config(self, value: impl Into<GenerateContentConfig>) -> Self
pub fn config(self, value: impl Into<GenerateContentConfig>) -> Self
Sets the config field of this struct.
Trait Implementations§
Source§impl Clone for GenerateContentParameters
impl Clone for GenerateContentParameters
Source§fn clone(&self) -> GenerateContentParameters
fn clone(&self) -> GenerateContentParameters
Returns a duplicate of the value. Read more
1.0.0 · 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 GenerateContentParameters
impl Debug for GenerateContentParameters
Source§impl Default for GenerateContentParameters
impl Default for GenerateContentParameters
Source§fn default() -> GenerateContentParameters
fn default() -> GenerateContentParameters
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for GenerateContentParameters
impl<'de> Deserialize<'de> for GenerateContentParameters
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 GenerateContentParameters
impl RefUnwindSafe for GenerateContentParameters
impl Send for GenerateContentParameters
impl Sync for GenerateContentParameters
impl Unpin for GenerateContentParameters
impl UnwindSafe for GenerateContentParameters
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