使用聊天机器人生成交互式文本
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此示例演示了如何使用 Gemini 模型以交互方式生成文本。
代码示例
如未另行说明,那么本页面中的内容已根据知识共享署名 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,["# Interactive text generation with a chatbot\n\nThis sample demonstrates how to use the Gemini model to generate text interactively.\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\n using https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.html;\n using System;\n using System.Collections.Generic;\n using System.Threading.Tasks;\n\n public class MultiTurnChatSample\n {\n public async Task\u003cstring\u003e GenerateContent(\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 // Create a chat session to keep track of the context\n ChatSession chatSession = new ChatSession($\"projects/{projectId}/locations/{location}/publishers/{publisher}/models/{model}\", location);\n\n string prompt = \"Hello.\";\n Console.WriteLine($\"\\nUser: {prompt}\");\n\n string response = await chatSession.SendMessageAsync(prompt);\n Console.WriteLine($\"Response: {response}\");\n\n prompt = \"What are all the colors in a rainbow?\";\n Console.WriteLine($\"\\nUser: {prompt}\");\n\n response = await chatSession.SendMessageAsync(prompt);\n Console.WriteLine($\"Response: {response}\");\n\n prompt = \"Why does it appear when it rains?\";\n Console.WriteLine($\"\\nUser: {prompt}\");\n\n response = await chatSession.SendMessageAsync(prompt);\n Console.WriteLine($\"Response: {response}\");\n\n return response;\n }\n\n private class ChatSession\n {\n private readonly string _modelPath;\n private readonly https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.PredictionServiceClient.html _predictionServiceClient;\n\n private readonly List\u003cContent\u003e _contents;\n\n public ChatSession(string modelPath, string location)\n {\n _modelPath = modelPath;\n\n _predictionServiceClient = new https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.PredictionServiceClientBuilder.html\n {\n Endpoint = $\"{location}-aiplatform.googleapis.com\"\n }.Build();\n\n // Initialize contents to send over in every request.\n _contents = new List\u003cContent\u003e();\n }\n\n public async Task\u003cstring\u003e SendMessageAsync(string prompt)\n {\n var content = new https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.Content.html\n {\n Role = \"USER\",\n Parts =\n {\n new https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.Part.html { Text = prompt }\n }\n };\n _contents.Add(content);\n\n var generateContentRequest = new https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.GenerateContentRequest.html\n {\n Model = _modelPath,\n GenerationConfig = new https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.GenerationConfig.html\n {\n Temperature = 0.9f,\n TopP = 1,\n TopK = 32,\n CandidateCount = 1,\n MaxOutputTokens = 2048\n }\n };\n generateContentRequest.Contents.AddRange(_contents);\n\n https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.GenerateContentResponse.html response = await _predictionServiceClient.https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.PredictionServiceClient.html#Google_Cloud_AIPlatform_V1_PredictionServiceClient_GenerateContentAsync_Google_Cloud_AIPlatform_V1_GenerateContentRequest_Google_Api_Gax_Grpc_CallSettings_(generateContentRequest);\n\n _contents.Add(response.https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.GenerateContentResponse.html#Google_Cloud_AIPlatform_V1_GenerateContentResponse_Candidates[0].https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.Content.html);\n\n return response.https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.GenerateContentResponse.html#Google_Cloud_AIPlatform_V1_GenerateContentResponse_Candidates[0].https://cloud.google.com/dotnet/docs/reference/Google.Cloud.AIPlatform.V1/latest/Google.Cloud.AIPlatform.V1.Content.html.Parts[0].Text;\n }\n }\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)."]]