using Microsoft.SemanticKernel; using Microsoft.SemanticKernel.ChatCompletion; using Microsoft.SemanticKernel.TextGeneration; using Microsoft.Extensions.DependencyInjection;
// 引入交互式的内核命名空间,以便用户输入 using PolyglotKernel= Microsoft.DotNet.Interactive.Kernel; using Microsoft.SemanticKernel.Connectors.AzureOpenAI;
// Get chat completion service var chatCompletionService = kernel.Services.GetRequiredService<IChatCompletionService>();
while (true) { // Get input from user var message = await PolyglotKernel.GetInputAsync("enter message..."); Console.WriteLine($"You:{message}"); if (string.IsNullOrEmpty(message.Trim()) || message.Equals("exit", StringComparison.OrdinalIgnoreCase)) { break; } // Get response from chat completion service var response = await chatCompletionService.GetChatMessageContentAsync(message); Console.WriteLine($"AI:{response}"); // response.Display(); }
// 引入交互式的内核命名空间,以便用户输入 using PolyglotKernel= Microsoft.DotNet.Interactive.Kernel;
// Get chat completion service var chatCompletionService = kernel.Services.GetRequiredService<IChatCompletionService>(); // Create chat history var chatHistory = new ChatHistory(); // chatHistory.AddSystemMessage("你是一名善解人意的心理咨询师!"); while (true) { // Get input from user var message = await PolyglotKernel.GetInputAsync("enter message..."); if (string.IsNullOrEmpty(message)) { break; } Console.WriteLine($"You:{message}"); // Add user message to chat history chatHistory.AddUserMessage(message); // Get response from chat completion service with history var response = await chatCompletionService.GetChatMessageContentAsync(chatHistory); Console.WriteLine($"AI:{response.Content}"); // Add AI response to chat history chatHistory.AddAssistantMessage(response.Content); // response.Display(); }
// 引入交互式的内核命名空间,以便用户输入 using PolyglotKernel= Microsoft.DotNet.Interactive.Kernel;
// Get chat completion service var chatCompletionService = kernel.Services.GetRequiredService<IChatCompletionService>();
// Get input from user var message = await PolyglotKernel.GetInputAsync("enter message..."); Console.WriteLine($"You: {message}"); // Get response from chat completion service var chatResult = chatCompletionService.GetStreamingChatMessageContentsAsync(message); string response = ""; awaitforeach (var chunk in chatResult) { if (chunk.Role.HasValue) Console.Write(chunk.Role + ": "); response += chunk; await Task.Delay(100); Console.Write(chunk); }