Skip to content

Commit

Permalink
Fix group chat
Browse files Browse the repository at this point in the history
  • Loading branch information
HillPhelmuth committed Jun 8, 2024
1 parent c16e212 commit 71abb5f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
3 changes: 2 additions & 1 deletion SkPluginLibrary/Agents/Group/GroupChat.cs
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@ public async Task<ChatHistory> CallAsync(ChatHistory conversation = null,

var agentResponse = await nextSpeaker.RunAgentAsync(groupConversion, cancellationToken: ct);
lastSpeaker = nextSpeaker;
groupConversion.Add(agentResponse!);
if (agentResponse is null) break;
groupConversion.Add(agentResponse);
if (agentResponse?.Content?.Contains(_endStatement) == true) break;
round++;
}
Expand Down
19 changes: 14 additions & 5 deletions SkPluginLibrary/Agents/Models/InteractiveStreamingAgent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Azure.AI.OpenAI;
using Microsoft.Extensions.DependencyInjection;
Expand Down Expand Up @@ -40,8 +41,12 @@ public void AddInteractivePlugin()
Kernel.Plugins.AddRange(Agent.Plugins);
}
var chat = Kernel.Services.GetRequiredService<IChatCompletionService>();
var chatmessageHistory = chatHistory/*.AsChatHistory()*/;
var chatmessageHistory = new ChatHistory(chatHistory)/*.AsChatHistory()*/;
chatmessageHistory.AddSystemMessage(SystemPrompt);
foreach (var messageItem in chatmessageHistory)
{
messageItem.AuthorName = EnsurePattern(messageItem.AuthorName);
}
var callBehavior = Plugins.Count > 0 ? ToolCallBehavior.AutoInvokeKernelFunctions : null;
Console.WriteLine($"{Name} ToolCallBehavior: {callBehavior}");
settings ??= new OpenAIPromptExecutionSettings() { Temperature = Temperature, ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions, ChatSystemPrompt = SystemPrompt };
Expand All @@ -53,9 +58,7 @@ public void AddInteractivePlugin()
{
await foreach (var update in chat.GetStreamingChatMessageContentsAsync(chatmessageHistory, settings, Kernel, cancellationToken))
{
//var update2 = (OpenAIStreamingChatMessageContent)update;
//var toolCall = update2.ToolCallUpdate as StreamingFunctionToolCallUpdate;
//Console.WriteLine($"Tool call: {toolCall?.Name}, {toolCall?.ToolCallIndex}");

if (message is null)
{
message = new AgentMessage(update.Role.GetValueOrDefault(), update.Content, Name);
Expand All @@ -82,5 +85,11 @@ public void AddInteractivePlugin()
}
return message;
}
}
public string EnsurePattern(string input)
{
if (string.IsNullOrEmpty(input)) return input;
string pattern = @"[^a-zA-Z0-9_-]";
return Regex.Replace(input, pattern, "_");
}
}
}

0 comments on commit 71abb5f

Please # to comment.