Package com.google.genai.types
Class FunctionDeclaration
java.lang.Object
com.google.genai.JsonSerializable
com.google.genai.types.FunctionDeclaration
Defines a function that the model can generate JSON inputs for.
The inputs are based on `OpenAPI 3.0 specifications <https://spec.openapis.org/oas/v3.0.3>`_.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Builder for FunctionDeclaration. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbehavior()
Defines the function behavior.static FunctionDeclaration.Builder
builder()
Instantiates a builder for FunctionDeclaration.Optional.static FunctionDeclaration
Deserializes a JSON string to a FunctionDeclaration object.static FunctionDeclaration
fromMethod
(Method method, String... orderedParameterNames) Creates a FunctionDeclaration instance from aMethod
instance.static FunctionDeclaration
fromMethod
(String functionDescription, Method method, String... orderedParameterNames) Creates a FunctionDeclaration instance from aMethod
instance.name()
Required.Optional.Optional.response()
Optional.Optional.abstract FunctionDeclaration.Builder
Creates a builder with the same values as this instance.Methods inherited from class com.google.genai.JsonSerializable
stringToJsonNode, toJson
-
Constructor Details
-
FunctionDeclaration
public FunctionDeclaration()
-
-
Method Details
-
behavior
Defines the function behavior. -
description
Optional. Description and purpose of the function. Model uses it to decide how and whether to call the function. -
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 and dashes, with a maximum length of 64. -
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
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
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
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`. -
builder
Instantiates a builder for FunctionDeclaration. -
toBuilder
Creates a builder with the same values as this instance. -
fromJson
Deserializes a JSON string to a FunctionDeclaration object. -
fromMethod
Creates a FunctionDeclaration instance from aMethod
instance.- Parameters:
method
- TheMethod
instance to be parsed into the FunctionDeclaration instance. Only static method is supported.orderedParameterNames
- Optional ordered parameter names. If not provided, parameter names will be retrieved via reflection.- Returns:
- A FunctionDeclaration instance.
-
fromMethod
public static FunctionDeclaration fromMethod(String functionDescription, Method method, String... orderedParameterNames) Creates a FunctionDeclaration instance from aMethod
instance.- Parameters:
functionDescription
- Description of the function.method
- TheMethod
instance to be parsed into the FunctionDeclaration instance. Only static method is supported.orderedParameterNames
- Optional ordered parameter names. If not provided, parameter names will be retrieved via reflection.- Returns:
- A FunctionDeclaration instance.
-