commit
36bbfa8847
|
|
@ -186,7 +186,18 @@ public class RoleDialogModel : ITrackableMessage
|
|||
|
||||
public class ChatMessageWrapper
|
||||
{
|
||||
public int IntervalMilliSeconds { get; set; } = 1000;
|
||||
/// <summary>
|
||||
/// Messages sending interval in milliseconds
|
||||
/// </summary>
|
||||
public int SendingInterval { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the Messages are saved to db
|
||||
/// </summary>
|
||||
public bool SaveToDb { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Messages to send or save
|
||||
/// </summary>
|
||||
public List<RoleDialogModel>? Messages { get; set; }
|
||||
}
|
||||
|
|
@ -72,7 +72,7 @@ public class PlotChartFn : IFunctionCallback
|
|||
{
|
||||
message.AdditionalMessageWrapper = new()
|
||||
{
|
||||
IntervalMilliSeconds = 1500,
|
||||
SendingInterval = 1500,
|
||||
SaveToDb = true,
|
||||
Messages = new List<RoleDialogModel>
|
||||
{
|
||||
|
|
|
|||
|
|
@ -122,14 +122,15 @@ public class ChatHubConversationHook : ConversationHookBase
|
|||
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
||||
await SendEvent(ChatEvent.OnMessageReceivedFromAssistant, conv.ConversationId, data);
|
||||
|
||||
if (message.AdditionalMessageWrapper?.Messages?.Count > 0)
|
||||
var wrapper = message.AdditionalMessageWrapper;
|
||||
if (wrapper?.SendingInterval > 0 && wrapper?.Messages?.Count > 0)
|
||||
{
|
||||
action.SenderAction = SenderActionEnum.TypingOn;
|
||||
await SendEvent(ChatEvent.OnSenderActionGenerated, conv.ConversationId, action);
|
||||
|
||||
foreach (var item in message.AdditionalMessageWrapper.Messages)
|
||||
foreach (var item in wrapper.Messages)
|
||||
{
|
||||
await Task.Delay(message.AdditionalMessageWrapper.IntervalMilliSeconds);
|
||||
await Task.Delay(wrapper.SendingInterval);
|
||||
|
||||
data = new ChatResponseDto
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue