Class FunctionDeclaration
-
- All Implemented Interfaces:
public abstract class FunctionDeclaration extends JsonSerializable
Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public abstract classFunctionDeclaration.BuilderBuilder for FunctionDeclaration.
-
Field Summary
Fields Modifier and Type Field Description public final static StringMAX_READ_LENGTH_PROPERTY
-
Constructor Summary
Constructors Constructor Description FunctionDeclaration()
-
Method Summary
Modifier and Type Method Description abstract Optional<String>description()Optional. abstract Optional<String>name()Required. abstract Optional<Schema>parameters()Optional. abstract Optional<Object>parametersJsonSchema()Optional. abstract Optional<Schema>response()Optional. abstract Optional<Object>responseJsonSchema()Optional. abstract Optional<Behavior>behavior()Optional. static FunctionDeclaration.Builderbuilder()Instantiates a builder for FunctionDeclaration. abstract FunctionDeclaration.BuildertoBuilder()Creates a builder with the same values as this instance. static FunctionDeclarationfromJson(String jsonString)Deserializes a JSON string to a FunctionDeclaration object. static FunctionDeclarationfromMethod(Method method, Array<String> orderedParameterNames)Creates a FunctionDeclaration instance from a Method instance. static FunctionDeclarationfromMethod(String functionDescription, Method method, Array<String> orderedParameterNames)Creates a FunctionDeclaration instance from a Method instance. -
Methods inherited from class com.google.genai.JsonSerializable
fromJsonNode, fromJsonString, objectMapper, setMaxReadLength, stringToJsonNode, toJson, toJsonNode, toJsonString -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
description
abstract Optional<String> description()
Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function.
-
name
abstract Optional<String> name()
Required. 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, colons and dashes, with a maximum length of 64.
-
parameters
abstract Optional<Schema> parameters()
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
-
parametersJsonSchema
abstract Optional<Object> parametersJsonSchema()
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
abstract Optional<Schema> response()
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.
-
responseJsonSchema
abstract Optional<Object> responseJsonSchema()
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`.
-
behavior
abstract Optional<Behavior> behavior()
Optional. Specifies the function Behavior. Currently only supported by the BidiGenerateContent method. This field is not supported in Vertex AI.
-
builder
static FunctionDeclaration.Builder builder()
Instantiates a builder for FunctionDeclaration.
-
toBuilder
abstract FunctionDeclaration.Builder toBuilder()
Creates a builder with the same values as this instance.
-
fromJson
static FunctionDeclaration fromJson(String jsonString)
Deserializes a JSON string to a FunctionDeclaration object.
-
fromMethod
static FunctionDeclaration fromMethod(Method method, Array<String> orderedParameterNames)
Creates a FunctionDeclaration instance from a Method instance.
- Parameters:
method- The Method instance to be parsed into the FunctionDeclaration instance.orderedParameterNames- Optional ordered parameter names.- Returns:
A FunctionDeclaration instance.
-
fromMethod
static FunctionDeclaration fromMethod(String functionDescription, Method method, Array<String> orderedParameterNames)
Creates a FunctionDeclaration instance from a Method instance.
- Parameters:
functionDescription- Description of the function.method- The Method instance to be parsed into the FunctionDeclaration instance.orderedParameterNames- Optional ordered parameter names.- Returns:
A FunctionDeclaration instance.
-
-
-
-