RoleDialogModel.From

This commit is contained in:
Haiping Chen 2023-10-30 15:06:45 -05:00
parent 5d78e83e7c
commit a18d1ea5aa
3 changed files with 28 additions and 23 deletions

View file

@ -67,4 +67,21 @@ public class RoleDialogModel : ITrackableMessage
return $"{Role}: {Content}";
}
}
public static RoleDialogModel From(RoleDialogModel source,
string? role = null,
string? content = null)
{
return new RoleDialogModel(role ?? source.Role, content ?? source.Content)
{
CurrentAgentId = source.CurrentAgentId,
MessageId = source.MessageId,
FunctionArgs = source.FunctionArgs,
FunctionName = source.FunctionName,
RichContent = source.RichContent,
StopCompletion = source.StopCompletion,
Instruction = source.Instruction,
Data = source.Data
};
}
}

View file

@ -55,24 +55,16 @@ public partial class RoutingService
var responseTemplate = await templateService.RenderFunctionResponse(agent.Id, message);
if (!string.IsNullOrEmpty(responseTemplate))
{
dialogs.Add(new RoleDialogModel(AgentRole.Assistant, responseTemplate)
{
CurrentAgentId = agent.Id,
MessageId = message.MessageId,
FunctionArgs = message.FunctionArgs,
FunctionName = message.FunctionName
});
dialogs.Add(RoleDialogModel.From(message,
role: AgentRole.Assistant,
content: responseTemplate));
}
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
});
dialogs.Add(RoleDialogModel.From(message,
role: AgentRole.Function,
content: message.Content));
// Send to LLM
await InvokeAgent(agent.Id, dialogs);
@ -80,14 +72,9 @@ public partial class RoutingService
}
else
{
dialogs.Add(new RoleDialogModel(AgentRole.Assistant, message.Content)
{
CurrentAgentId = agent.Id,
MessageId = message.MessageId,
FunctionArgs = message.FunctionArgs,
FunctionName = message.FunctionName,
StopCompletion = true
});
dialogs.Add(RoleDialogModel.From(message,
role: AgentRole.Assistant,
content: message.Content));
}
return true;

View file

@ -1,9 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
<UserSecretsId>4fb8c9df-7975-4926-ba73-46c8ca440691</UserSecretsId>
<GeneratePackageOnBuild>False</GeneratePackageOnBuild>
</PropertyGroup>