pub struct Part {
pub video_metadata: Option<VideoMetadata>,
pub code_execution_result: Option<CodeExecutionResult>,
pub executable_code: Option<ExecutableCode>,
pub file_data: Option<FileData>,
pub function_call: Option<FunctionCall>,
pub function_response: Option<FunctionResponse>,
pub inline_data: Option<Blob>,
pub text: Option<String>,
}Fields§
§video_metadata: Option<VideoMetadata>§code_execution_result: Option<CodeExecutionResult>§executable_code: Option<ExecutableCode>§file_data: Option<FileData>§function_call: Option<FunctionCall>§function_response: Option<FunctionResponse>§inline_data: Option<Blob>§text: Option<String>Implementations§
Source§impl Part
impl Part
Sourcepub fn video_metadata(self, value: impl Into<VideoMetadata>) -> Self
pub fn video_metadata(self, value: impl Into<VideoMetadata>) -> Self
Sets the video_metadata field of this struct.
Sourcepub fn code_execution_result(
self,
value: impl Into<CodeExecutionResult>,
) -> Self
pub fn code_execution_result( self, value: impl Into<CodeExecutionResult>, ) -> Self
Sets the code_execution_result field of this struct.
Sourcepub fn executable_code(self, value: impl Into<ExecutableCode>) -> Self
pub fn executable_code(self, value: impl Into<ExecutableCode>) -> Self
Sets the executable_code field of this struct.
Sourcepub fn file_data(self, value: impl Into<FileData>) -> Self
pub fn file_data(self, value: impl Into<FileData>) -> Self
Sets the file_data field of this struct.
Sourcepub fn function_call(self, value: impl Into<FunctionCall>) -> Self
pub fn function_call(self, value: impl Into<FunctionCall>) -> Self
Sets the function_call field of this struct.
Sourcepub fn function_response(self, value: impl Into<FunctionResponse>) -> Self
pub fn function_response(self, value: impl Into<FunctionResponse>) -> Self
Sets the function_response field of this struct.
Sourcepub fn inline_data(self, value: impl Into<Blob>) -> Self
pub fn inline_data(self, value: impl Into<Blob>) -> Self
Sets the inline_data field of this struct.
Sourcepub fn text(self, value: impl Into<String>) -> Self
pub fn text(self, value: impl Into<String>) -> Self
Sets the text field of this struct.
Examples found in repository?
examples/req.rs (line 11)
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 (line 11)
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 Part
impl<'de> Deserialize<'de> for Part
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 Part
impl RefUnwindSafe for Part
impl Send for Part
impl Sync for Part
impl Unpin for Part
impl UnwindSafe for Part
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