Kernel CreateKernel()

in src/OpenAI.Plugin/Program.cs [26:40]


Kernel CreateKernel(IServiceProvider provider)
{
    const string DefaultSemanticPromptsFolder = "Prompts";
    string semanticPromptsFolder = Environment.GetEnvironmentVariable("SEMANTIC_PLUGINS_FOLDER") ?? DefaultSemanticPromptsFolder;
    var modelId = Environment.GetEnvironmentVariable("MODEL_ID")!;
    var endpoint = Environment.GetEnvironmentVariable("ENDPOINT")!;
    var apiKey = Environment.GetEnvironmentVariable("API_KEY")!;

    var builder = Kernel.CreateBuilder();
    builder.Services.AddLogging(c => c.SetMinimumLevel(LogLevel.Trace).AddDebug());
    builder.Services.AddAzureOpenAIChatCompletion(modelId, endpoint, apiKey);
    builder.Plugins.AddFromPromptDirectory(semanticPromptsFolder, "Prompts");
    var kernel = builder.Build();
    return kernel;
}