You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

Create_Semantic_Kernel_Chat_Agent.cs 1.7 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright (c) Microsoft Corporation. All rights reserved.
  2. // Create_Semantic_Kernel_Chat_Agent.cs
  3. #region Using
  4. using AutoGen.Core;
  5. using Microsoft.SemanticKernel;
  6. using Microsoft.SemanticKernel.Agents;
  7. #endregion Using
  8. namespace AutoGen.SemanticKernel.Sample;
  9. public class Create_Semantic_Kernel_Chat_Agent
  10. {
  11. public static async Task RunAsync()
  12. {
  13. #region Create_Kernel
  14. var openAIKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY") ?? throw new Exception("Please set OPENAI_API_KEY environment variable.");
  15. var modelId = "gpt-3.5-turbo";
  16. var kernel = Kernel.CreateBuilder()
  17. .AddOpenAIChatCompletion(modelId: modelId, apiKey: openAIKey)
  18. .Build();
  19. #endregion Create_Kernel
  20. #region Create_ChatCompletionAgent
  21. // The built-in ChatCompletionAgent from semantic kernel.
  22. var chatAgent = new ChatCompletionAgent()
  23. {
  24. Kernel = kernel,
  25. Name = "assistant",
  26. Description = "You are a helpful AI assistant",
  27. };
  28. #endregion Create_ChatCompletionAgent
  29. #region Create_SemanticKernelChatCompletionAgent
  30. var messageConnector = new SemanticKernelChatMessageContentConnector();
  31. var skAgent = new SemanticKernelChatCompletionAgent(chatAgent)
  32. .RegisterMiddleware(messageConnector) // register message connector so it support AutoGen built-in message types like TextMessage.
  33. .RegisterPrintMessage(); // pretty print the message to the console
  34. #endregion Create_SemanticKernelChatCompletionAgent
  35. #region Send_Message
  36. await skAgent.SendAsync("Hey tell me a long tedious joke");
  37. #endregion Send_Message
  38. }
  39. }