diff --git a/Releases/0.7.1.md b/Releases/0.7.1.md new file mode 100644 index 0000000..065ff0c --- /dev/null +++ b/Releases/0.7.1.md @@ -0,0 +1,3 @@ +# 0.7.1 release + +- Chat/Agent context extension (accept multiple messages) \ No newline at end of file diff --git a/src/MaIN.Core/.nuspec b/src/MaIN.Core/.nuspec index d392182..c313814 100644 --- a/src/MaIN.Core/.nuspec +++ b/src/MaIN.Core/.nuspec @@ -2,7 +2,7 @@ MaIN.NET - 0.7.0 + 0.7.1 Wisedev Wisedev favicon.png diff --git a/src/MaIN.Core/Hub/Contexts/AgentContext.cs b/src/MaIN.Core/Hub/Contexts/AgentContext.cs index 99a7f56..3d53354 100644 --- a/src/MaIN.Core/Hub/Contexts/AgentContext.cs +++ b/src/MaIN.Core/Hub/Contexts/AgentContext.cs @@ -237,7 +237,7 @@ public async Task ProcessAsync(string message, bool translate = fals { Content = message, Role = "User", - Type = MessageType.LocalLLM, //TODO this need an improvement - we dont know if the message is from local or cloud + Type = MessageType.LocalLLM, Time = DateTime.Now }); var result = await _agentService.Process(chat, _agent.Id, _knowledge, translate); @@ -269,6 +269,26 @@ public async Task ProcessAsync(Message message, bool translate = fal CreatedAt = DateTime.Now }; } + + public async Task ProcessAsync(IEnumerable messages, bool translate = false) + { + if (_knowledge == null) + { + LoadExistingKnowledgeIfExists(); + } + var chat = await _agentService.GetChatByAgent(_agent.Id); + chat.Messages.Clear(); + chat.Messages.AddRange(messages); + var result = await _agentService.Process(chat, _agent.Id, _knowledge, translate); + var messageResult = result.Messages.LastOrDefault()!; + return new ChatResult() + { + Done = true, + Model = result.Model, + Message = messageResult, + CreatedAt = DateTime.Now + }; + } public async Task GetChat() { diff --git a/src/MaIN.Core/Hub/Contexts/ChatContext.cs b/src/MaIN.Core/Hub/Contexts/ChatContext.cs index 6329719..3a7b621 100644 --- a/src/MaIN.Core/Hub/Contexts/ChatContext.cs +++ b/src/MaIN.Core/Hub/Contexts/ChatContext.cs @@ -81,6 +81,12 @@ public ChatContext WithBackend(BackendType backendType) return this; } + public ChatContext WithMessages(IEnumerable messages) + { + _chat.Messages.AddRange(messages); + return this; + } + public ChatContext WithMessage(string content) { var message = new Message @@ -95,7 +101,6 @@ public ChatContext WithMessage(string content) return this; } - public ChatContext WithMessage(string content, byte[] image) { var message = new Message