From 8672214c39cf94babde7527f579ac8c382307c5e Mon Sep 17 00:00:00 2001 From: Haiping Chen Date: Sun, 22 Oct 2023 19:37:33 -0500 Subject: [PATCH] Support states for instruct mode. --- .../Controllers/InstructModeController.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs index b53eaba8..d51f91b0 100644 --- a/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs +++ b/src/Infrastructure/BotSharp.OpenAPI/Controllers/InstructModeController.cs @@ -35,6 +35,7 @@ public class InstructModeController : ControllerBase, IApiAdapter } var conv = _services.GetRequiredService(); + input.States.ForEach(x => conv.States.SetState(x.Split('=')[0], x.Split('=')[1])); conv.States.SetState("provider", input.Provider) .SetState("model", input.Model); @@ -46,9 +47,14 @@ public class InstructModeController : ControllerBase, IApiAdapter } [HttpPost("/instruct/text-completion")] - public async Task TextCompletion([FromBody] IncomingMessageModel message) + public async Task TextCompletion([FromBody] IncomingMessageModel input) { + var conv = _services.GetRequiredService(); + input.States.ForEach(x => conv.States.SetState(x.Split('=')[0], x.Split('=')[1])); + conv.States.SetState("provider", input.Provider) + .SetState("model", input.Model); + var textCompletion = CompletionProvider.GetTextCompletion(_services); - return await textCompletion.GetCompletion(message.Text); + return await textCompletion.GetCompletion(input.Text); } }