|
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // Create_Semantic_Kernel_Chat_Agent.cs
-
- #region Using
- using AutoGen.Core;
- using Microsoft.SemanticKernel;
- using Microsoft.SemanticKernel.Agents;
- #endregion Using
- namespace AutoGen.SemanticKernel.Sample;
-
- public class Create_Semantic_Kernel_Chat_Agent
- {
- public static async Task RunAsync()
- {
- #region Create_Kernel
- var openAIKey = Environment.GetEnvironmentVariable("OPENAI_API_KEY") ?? throw new Exception("Please set OPENAI_API_KEY environment variable.");
- var modelId = "gpt-3.5-turbo";
- var kernel = Kernel.CreateBuilder()
- .AddOpenAIChatCompletion(modelId: modelId, apiKey: openAIKey)
- .Build();
- #endregion Create_Kernel
-
- #region Create_ChatCompletionAgent
- // The built-in ChatCompletionAgent from semantic kernel.
- var chatAgent = new ChatCompletionAgent()
- {
- Kernel = kernel,
- Name = "assistant",
- Description = "You are a helpful AI assistant",
- };
- #endregion Create_ChatCompletionAgent
-
- #region Create_SemanticKernelChatCompletionAgent
- var messageConnector = new SemanticKernelChatMessageContentConnector();
- var skAgent = new SemanticKernelChatCompletionAgent(chatAgent)
- .RegisterMiddleware(messageConnector) // register message connector so it support AutoGen built-in message types like TextMessage.
- .RegisterPrintMessage(); // pretty print the message to the console
- #endregion Create_SemanticKernelChatCompletionAgent
-
- #region Send_Message
- await skAgent.SendAsync("Hey tell me a long tedious joke");
- #endregion Send_Message
- }
- }
|