#[non_exhaustive]pub struct FunctionDeclaration {
pub name: String,
pub description: String,
pub parameters: Option<Schema>,
pub parameters_json_schema: Option<Value>,
pub response: Option<Schema>,
pub response_json_schema: Option<Value>,
/* private fields */
}gen-ai-cache-service or llm-utility-service or prediction-service only.Expand description
Structured representation of a function declaration as defined by the
OpenAPI 3.0 specification. Included
in this declaration are the function name, description, parameters and
response type. This FunctionDeclaration is a representation of a block of
code that can be used as a Tool by the model and executed by the client.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringRequired. The name of the function to call. Must start with a letter or an underscore. Must be a-z, A-Z, 0-9, or contain underscores, dots and dashes, with a maximum length of 64.
description: StringOptional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
parameters: Option<Schema>Optional. Describes the parameters to this function in JSON Schema Object format. Reflects the Open API 3.03 Parameter Object. string Key: the name of the parameter. Parameter names are case sensitive. Schema Value: the Schema defining the type used for the parameter. For function with no parameters, this can be left unset. Parameter names must start with a letter or an underscore and must only contain chars a-z, A-Z, 0-9, or underscores with a maximum length of 64. Example with 1 required and 1 optional parameter: type: OBJECT properties: param1: type: STRING param2: type: INTEGER required:
- param1
parameters_json_schema: Option<Value>Optional. Describes the parameters to the function in JSON Schema format. The schema must describe an object where the properties are the parameters to the function. For example:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"age": { "type": "integer" }
},
"additionalProperties": false,
"required": ["name", "age"],
"propertyOrdering": ["name", "age"]
}This field is mutually exclusive with parameters.
response: Option<Schema>Optional. Describes the output from this function in JSON Schema format. Reflects the Open API 3.03 Response Object. The Schema defines the type used for the response value of the function.
response_json_schema: Option<Value>Optional. Describes the output from this function in JSON Schema format. The value specified by the schema is the response value of the function.
This field is mutually exclusive with response.
Implementations§
Source§impl FunctionDeclaration
impl FunctionDeclaration
pub fn new() -> Self
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
§Example
let x = FunctionDeclaration::new().set_description("example");Sourcepub fn set_parameters<T>(self, v: T) -> Self
pub fn set_parameters<T>(self, v: T) -> Self
Sets the value of parameters.
§Example
use google_cloud_aiplatform_v1::model::Schema;
let x = FunctionDeclaration::new().set_parameters(Schema::default()/* use setters */);Sourcepub fn set_or_clear_parameters<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_parameters<T>(self, v: Option<T>) -> Self
Sets or clears the value of parameters.
§Example
use google_cloud_aiplatform_v1::model::Schema;
let x = FunctionDeclaration::new().set_or_clear_parameters(Some(Schema::default()/* use setters */));
let x = FunctionDeclaration::new().set_or_clear_parameters(None::<Schema>);Sourcepub fn set_parameters_json_schema<T>(self, v: T) -> Self
pub fn set_parameters_json_schema<T>(self, v: T) -> Self
Sets the value of parameters_json_schema.
§Example
use wkt::Value;
let x = FunctionDeclaration::new().set_parameters_json_schema(Value::default()/* use setters */);Sourcepub fn set_or_clear_parameters_json_schema<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_parameters_json_schema<T>(self, v: Option<T>) -> Self
Sets or clears the value of parameters_json_schema.
§Example
use wkt::Value;
let x = FunctionDeclaration::new().set_or_clear_parameters_json_schema(Some(Value::default()/* use setters */));
let x = FunctionDeclaration::new().set_or_clear_parameters_json_schema(None::<Value>);Sourcepub fn set_response<T>(self, v: T) -> Self
pub fn set_response<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_response<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_response<T>(self, v: Option<T>) -> Self
Sourcepub fn set_response_json_schema<T>(self, v: T) -> Self
pub fn set_response_json_schema<T>(self, v: T) -> Self
Sets the value of response_json_schema.
§Example
use wkt::Value;
let x = FunctionDeclaration::new().set_response_json_schema(Value::default()/* use setters */);Sourcepub fn set_or_clear_response_json_schema<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_response_json_schema<T>(self, v: Option<T>) -> Self
Sets or clears the value of response_json_schema.
§Example
use wkt::Value;
let x = FunctionDeclaration::new().set_or_clear_response_json_schema(Some(Value::default()/* use setters */));
let x = FunctionDeclaration::new().set_or_clear_response_json_schema(None::<Value>);Trait Implementations§
Source§impl Clone for FunctionDeclaration
impl Clone for FunctionDeclaration
Source§fn clone(&self) -> FunctionDeclaration
fn clone(&self) -> FunctionDeclaration
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more