Controlled generation JSON output with null values

Allow the model to output null responses when it doesn't have enough context to generate a meaningful response.

Code sample

C#

Before trying this sample, follow the C# setup instructions in the Vertex AI quickstart using client libraries. For more information, see the Vertex AI C# API reference documentation.

To authenticate to Vertex AI, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

public async Task<string> GenerateContentWithResponseSchema3(  string projectId = "your-project-id",  string location = "us-central1",  string publisher = "google",  string model = "gemini-2.0-flash-001") {  var predictionServiceClient = new PredictionServiceClientBuilder  {  Endpoint = $"{location}-aiplatform.googleapis.com"  }.Build();  var responseSchema = new OpenApiSchema  {  Type = Type.Object,  Properties =  {  ["forecast"] = new()  {  Type = Type.Array,  Items = new()  {  Type = Type.Object,  Properties =  {  ["Forecast"] = new() { Type = Type.String },  ["Humidity"] = new() { Type = Type.String },  ["Temperature"] = new() { Type = Type.Integer },  ["Wind Speed"] = new() { Type = Type.Integer }  }  }  }  }  };  string prompt = @"  The week ahead brings a mix of weather conditions.  Sunday is expected to be sunny with a temperature of 77°F and a humidity level of 50%. Winds will be light at around 10 km/h.  Monday will see partly cloudy skies with a slightly cooler temperature of 72°F and humidity increasing to 55%. Winds will pick up slightly to around 15 km/h.  Tuesday brings rain showers, with temperatures dropping to 64°F and humidity rising to 70%. Expect stronger winds at 20 km/h.  Wednesday may see thunderstorms, with a temperature of 68°F and high humidity of 75%. Winds will be gusty at 25 km/h.  Thursday will be cloudy with a temperature of 66°F and moderate humidity at 60%. Winds will ease slightly to 18 km/h.  Friday returns to partly cloudy conditions, with a temperature of 73°F and lower humidity at 45%. Winds will be light at 12 km/h.  Finally, Saturday rounds off the week with sunny skies, a temperature of 80°F, and a humidity level of 40%. Winds will be gentle at 8 km/h.";  var generateContentRequest = new GenerateContentRequest  {  Model = $"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}",  Contents =  {  new Content  {  Role = "USER",  Parts =  {  new Part { Text = prompt }  }  }  },  GenerationConfig = new GenerationConfig  {  ResponseMimeType = "application/json",  ResponseSchema = responseSchema  },  };  GenerateContentResponse response = await predictionServiceClient.GenerateContentAsync(generateContentRequest);  string responseText = response.Candidates[0].Content.Parts[0].Text;  Console.WriteLine(responseText);  return responseText; }

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.