// Copyright (c) Microsoft. All rights reserved. using Microsoft.SemanticKernel; namespace Examples; /// /// This example demonstrates how to add AI services to a kernel as described at /// https://learn.microsoft.com/semantic-kernel/agents/kernel/adding-services /// public class AIServices(ITestOutputHelper output) : BaseTest(output) { [Fact] public async Task RunAsync() { Console.WriteLine("======== AI Services ========"); string? endpoint = TestConfiguration.AzureOpenAI.Endpoint; string? modelId = TestConfiguration.AzureOpenAI.ChatModelId; string? textModelId = TestConfiguration.AzureOpenAI.ChatModelId; string? apiKey = TestConfiguration.AzureOpenAI.ApiKey; if (endpoint is null || modelId is null || textModelId is null || apiKey is null) { Console.WriteLine("Azure OpenAI credentials not found. Skipping example."); return; } string? openAImodelId = TestConfiguration.OpenAI.ChatModelId; string? openAItextModelId = TestConfiguration.OpenAI.ChatModelId; string? openAIapiKey = TestConfiguration.OpenAI.ApiKey; if (openAImodelId is null || openAItextModelId is null || openAIapiKey is null) { Console.WriteLine("OpenAI credentials not found. Skipping example."); return; } // Create a kernel with an Azure OpenAI chat completion service // Kernel kernel = Kernel.CreateBuilder() .AddAzureOpenAIChatCompletion(modelId, endpoint, apiKey) .Build(); // // You can also create a kernel with a (non-Azure) OpenAI chat completion service // kernel = Kernel.CreateBuilder() .AddOpenAIChatCompletion(openAImodelId, openAIapiKey) .Build(); // } }