챗봇으로 대화형 텍스트 생성
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 샘플은 Gemini 모델을 사용하여 대화형으로 텍스트를 생성하는 방법을 보여줍니다.
코드 샘플
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 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)."]]