From e911b054174d9977be34b3cc057b70a563813161 Mon Sep 17 00:00:00 2001 From: Haiping Date: Tue, 12 Dec 2023 12:32:04 -0600 Subject: [PATCH] /instruct/chat-completion --- .../Controllers/InstructModeController.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs index fb047973..d7f85932 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs +++ b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs @@ -47,4 +47,22 @@ public class InstructModeController : ControllerBase, IApiAdapter var textCompletion = CompletionProvider.GetTextCompletion(_services); return await textCompletion.GetCompletion(input.Text, Guid.Empty.ToString(), Guid.NewGuid().ToString()); } + + [HttpPost("/instruct/chat-completion")] + public async Task ChatCompletion([FromBody] IncomingMessageModel input) + { + var state = _services.GetRequiredService(); + input.States.ForEach(x => state.SetState(x.Split('=')[0], x.Split('=')[1])); + state.SetState("provider", input.Provider) + .SetState("model", input.Model); + + var textCompletion = CompletionProvider.GetChatCompletion(_services); + return textCompletion.GetChatCompletions(new Agent() + { + Id = Guid.Empty.ToString(), + }, new List + { + new RoleDialogModel(AgentRole.User, input.Text) + }).Content; + } }