Updates FunctionResponse
This commit is contained in:
@@ -1,7 +1,8 @@
|
|||||||
use std::{env, error::Error};
|
use std::{env, error::Error};
|
||||||
|
|
||||||
use google_genai::prelude::{
|
use google_genai::prelude::{
|
||||||
Content, FunctionDeclaration, GeminiClient, GenerateContentRequest, Part, PartData, Role, Tools,
|
Content, FunctionDeclaration, FunctionResponse, GeminiClient, GenerateContentRequest, Part,
|
||||||
|
PartData, Role, Tools,
|
||||||
};
|
};
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
|
||||||
@@ -85,12 +86,14 @@ async fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
contents.push(Content {
|
contents.push(Content {
|
||||||
role: Some(Role::User),
|
role: Some(Role::User),
|
||||||
parts: Some(vec![Part {
|
parts: Some(vec![Part {
|
||||||
data: PartData::FunctionResponse {
|
data: PartData::FunctionResponse(FunctionResponse {
|
||||||
id: id.clone(),
|
id: id.clone(),
|
||||||
name: name.clone(),
|
name: name.clone(),
|
||||||
response: json!({"result": 1234}),
|
response: json!({"result": 1234}),
|
||||||
will_continue: None,
|
will_continue: None,
|
||||||
},
|
parts: None,
|
||||||
|
scheduling: None,
|
||||||
|
}),
|
||||||
media_resolution: None,
|
media_resolution: None,
|
||||||
part_metadata: None,
|
part_metadata: None,
|
||||||
thought: None,
|
thought: None,
|
||||||
|
|||||||
@@ -3,6 +3,8 @@ use std::{fmt::Display, str::FromStr, vec};
|
|||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::Value;
|
use serde_json::Value;
|
||||||
|
|
||||||
|
use crate::types::FunctionResponse;
|
||||||
|
|
||||||
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
||||||
pub struct Content {
|
pub struct Content {
|
||||||
pub role: Option<Role>,
|
pub role: Option<Role>,
|
||||||
@@ -118,13 +120,7 @@ pub enum PartData {
|
|||||||
args: Option<Value>,
|
args: Option<Value>,
|
||||||
},
|
},
|
||||||
// https://ai.google.dev/api/caching#FunctionResponse
|
// https://ai.google.dev/api/caching#FunctionResponse
|
||||||
FunctionResponse {
|
FunctionResponse(FunctionResponse),
|
||||||
id: Option<String>,
|
|
||||||
name: String,
|
|
||||||
response: Value,
|
|
||||||
will_continue: Option<bool>,
|
|
||||||
// TODO: Add remaining fields.
|
|
||||||
},
|
|
||||||
FileData(Value),
|
FileData(Value),
|
||||||
ExecutableCode(Value),
|
ExecutableCode(Value),
|
||||||
CodeExecutionResult(Value),
|
CodeExecutionResult(Value),
|
||||||
|
|||||||
Reference in New Issue
Block a user