使用预定义架构控制生成的 JSON 输出
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此代码示例演示了如何使用 `response_mime_type` 和 `response_schema` 参数来获取符合您定义的 JSON 格式和架构的回答。
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],[],[],[],null,["# Controlled generation JSON output with predefined schema\n\nThis code sample demonstrates how to use the \\`response_mime_type\\` and \\`response_schema\\` parameters to get a response that follows the JSON format and schema that you've defined.\n\nCode sample\n-----------\n\n### C#\n\n\nBefore trying this sample, follow the C# setup instructions in the\n[Vertex AI quickstart using\nclient libraries](/vertex-ai/docs/start/client-libraries).\n\n\nFor more information, see the\n[Vertex AI C# API\nreference documentation](/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest).\n\n\nTo authenticate to Vertex AI, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n public async Task\u003cstring\u003e GenerateContentWithResponseSchema2(\n string projectId = \"your-project-id\",\n string location = \"us-central1\",\n string publisher = \"google\",\n string model = \"gemini-2.0-flash-001\")\n {\n\n var predictionServiceClient = new PredictionServiceClientBuilder\n {\n Endpoint = $\"{location}-aiplatform.googleapis.com\"\n }.Build();\n\n var responseSchema = new OpenApiSchema\n {\n Type = Type.Array,\n Items = new()\n {\n Type = Type.Object,\n Properties =\n {\n [\"rating\"] = new() { Type = Type.Integer },\n [\"flavor\"] = new() { Type = Type.String }\n },\n Required = { \"rating\", \"flavor\" }\n }\n };\n\n string prompt = @\"\n Reviews from our social media:\n\n - \"\"Absolutely loved it! Best ice cream I've ever had.\"\" Rating: 4, Flavor: Strawberry Cheesecake\n - \"\"Quite good, but a bit too sweet for my taste.\"\" Rating: 1, Flavor: Mango Tango\";\n\n var generateContentRequest = new GenerateContentRequest\n {\n Model = $\"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}\",\n Contents =\n {\n new Content\n {\n Role = \"USER\",\n Parts =\n {\n new Part { Text = prompt }\n }\n }\n },\n GenerationConfig = new GenerationConfig\n {\n ResponseMimeType = \"application/json\",\n ResponseSchema = responseSchema\n },\n };\n\n GenerateContentResponse response = await predictionServiceClient.GenerateContentAsync(generateContentRequest);\n\n string responseText = response.Candidates[0].Content.Parts[0].Text;\n Console.WriteLine(responseText);\n\n return responseText;\n }\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=generativeaionvertexai)."]]