Fix InvokeFunction dialog message.

This commit is contained in:
Haiping Chen 2023-10-30 14:27:12 -05:00
parent 663a16538f
commit 5d78e83e7c

View file

@ -55,15 +55,21 @@ public partial class RoutingService
var responseTemplate = await templateService.RenderFunctionResponse(agent.Id, message);
if (!string.IsNullOrEmpty(responseTemplate))
{
message.Content = responseTemplate.Trim();
message.Role = AgentRole.Assistant;
dialogs.Add(message);
dialogs.Add(new RoleDialogModel(AgentRole.Assistant, responseTemplate)
{
CurrentAgentId = agent.Id,
MessageId = message.MessageId,
FunctionArgs = message.FunctionArgs,
FunctionName = message.FunctionName
});
}
else
{
// Save to memory dialogs
dialogs.Add(new RoleDialogModel(AgentRole.Function, message.Content)
{
CurrentAgentId = agent.Id,
MessageId = message.MessageId,
FunctionArgs = message.FunctionArgs,
FunctionName = message.FunctionName
});
@ -72,6 +78,17 @@ public partial class RoutingService
await InvokeAgent(agent.Id, dialogs);
}
}
else
{
dialogs.Add(new RoleDialogModel(AgentRole.Assistant, message.Content)
{
CurrentAgentId = agent.Id,
MessageId = message.MessageId,
FunctionArgs = message.FunctionArgs,
FunctionName = message.FunctionName,
StopCompletion = true
});
}
return true;
}