Table of Contents

Class FunctionResponse

Namespace
Google.GenAI.Types
Assembly
Google.GenAI.dll

The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a FunctionCall made based on model prediction.

public record FunctionResponse : IEquatable<FunctionResponse>
Inheritance
FunctionResponse
Implements
Inherited Members

Properties

Id

Optional. The id of the function call this response is for. Populated by the client to match the corresponding function call id.

[JsonPropertyName("id")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Id { get; set; }

Property Value

string

Name

The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.

[JsonPropertyName("name")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Name { get; set; }

Property Value

string

Parts

Optional. Ordered Parts that constitute a function response. Parts may have different IANA MIME types.

[JsonPropertyName("parts")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public List<FunctionResponsePart>? Parts { get; set; }

Property Value

List<FunctionResponsePart>

Response

The function response in JSON object format. Use "output" key to specify function output and "error" key to specify error details (if any). If "output" and "error" keys are not specified, then whole "response" is treated as function output.

[JsonPropertyName("response")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public Dictionary<string, object>? Response { get; set; }

Property Value

Dictionary<string, object>

Scheduling

Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.

[JsonPropertyName("scheduling")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public FunctionResponseScheduling? Scheduling { get; set; }

Property Value

FunctionResponseScheduling?

WillContinue

Optional. Signals that function call continues, and more responses will be returned, turning the function call into a generator. Is only applicable to NON_BLOCKING function calls, is ignored otherwise. If set to false, future responses will not be considered. It is allowed to return empty response with will_continue=False to signal that the function call is finished. This may still trigger the model generation. To avoid triggering the generation and finish the function call, additionally set scheduling to SILENT. This field is not supported in Vertex AI.

[JsonPropertyName("willContinue")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public bool? WillContinue { get; set; }

Property Value

bool?

Methods

FromJson(string, JsonSerializerOptions?)

Deserializes a JSON string to a FunctionResponse object.

public static FunctionResponse? FromJson(string jsonString, JsonSerializerOptions? options = null)

Parameters

jsonString string

The JSON string to deserialize.

options JsonSerializerOptions

Optional JsonSerializerOptions.

Returns

FunctionResponse

The deserialized FunctionResponse object, or null if deserialization fails.