// Copyright (c) Microsoft. All rights reserved. using ContentSafety.Models; using Microsoft.AspNetCore.Mvc; using Microsoft.SemanticKernel; namespace ContentSafety.Controllers; /// /// Sample chat controller. /// [ApiController] [Route("[controller]")] public class ChatController(Kernel kernel) : ControllerBase { private const string Prompt = """ You are friendly assistant. {{$userMessage}} """; private readonly Kernel _kernel = kernel; [HttpPost] public async Task PostAsync(ChatModel chat) { var arguments = new KernelArguments { ["userMessage"] = chat.Message, ["documents"] = chat.Documents }; return this.Ok((await this._kernel.InvokePromptAsync(Prompt, arguments)).ToString()); } }