add message label
This commit is contained in:
parent
bf3915c453
commit
7ea8d84f74
|
|
@ -36,6 +36,10 @@ public class ChatResponseDto : InstructResult
|
||||||
[JsonPropertyName("indication")]
|
[JsonPropertyName("indication")]
|
||||||
public string? Indication { get; set; }
|
public string? Indication { get; set; }
|
||||||
|
|
||||||
|
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||||
|
[JsonPropertyName("message_label")]
|
||||||
|
public string? MessageLabel { get; set; }
|
||||||
|
|
||||||
[JsonPropertyName("has_message_files")]
|
[JsonPropertyName("has_message_files")]
|
||||||
public bool HasMessageFiles { get; set; }
|
public bool HasMessageFiles { get; set; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,10 @@ public class DialogMetaData
|
||||||
[JsonPropertyName("message_type")]
|
[JsonPropertyName("message_type")]
|
||||||
public string MessageType { get; set; } = default!;
|
public string MessageType { get; set; } = default!;
|
||||||
|
|
||||||
|
[JsonPropertyName("message_label")]
|
||||||
|
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||||
|
public string? MessageLabel { get; set; }
|
||||||
|
|
||||||
[JsonPropertyName("function_name")]
|
[JsonPropertyName("function_name")]
|
||||||
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
||||||
public string? FunctionName { get; set; }
|
public string? FunctionName { get; set; }
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,11 @@ public class RoleDialogModel : ITrackableMessage
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string MessageType { get; set; } = MessageTypeName.Plain;
|
public string MessageType { get; set; } = MessageTypeName.Plain;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The message label
|
||||||
|
/// </summary>
|
||||||
|
public string? MessageLabel { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// user, system, assistant, function
|
/// user, system, assistant, function
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -167,6 +172,7 @@ public class RoleDialogModel : ITrackableMessage
|
||||||
CurrentAgentId = source.CurrentAgentId,
|
CurrentAgentId = source.CurrentAgentId,
|
||||||
MessageId = source.MessageId,
|
MessageId = source.MessageId,
|
||||||
MessageType = source.MessageType,
|
MessageType = source.MessageType,
|
||||||
|
MessageLabel = source.MessageLabel,
|
||||||
FunctionArgs = source.FunctionArgs,
|
FunctionArgs = source.FunctionArgs,
|
||||||
FunctionName = source.FunctionName,
|
FunctionName = source.FunctionName,
|
||||||
ToolCallId = source.ToolCallId,
|
ToolCallId = source.ToolCallId,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
using BotSharp.Abstraction.Conversations.Models;
|
|
||||||
using BotSharp.Abstraction.Messaging;
|
using BotSharp.Abstraction.Messaging;
|
||||||
using BotSharp.Abstraction.Messaging.Models.RichContent;
|
using BotSharp.Abstraction.Messaging.Models.RichContent;
|
||||||
using BotSharp.Abstraction.Options;
|
using BotSharp.Abstraction.Options;
|
||||||
|
|
@ -67,11 +66,7 @@ public class ConversationStorage : IConversationStorage
|
||||||
var secondaryContent = dialog.SecondaryContent;
|
var secondaryContent = dialog.SecondaryContent;
|
||||||
var payload = string.IsNullOrEmpty(dialog.Payload) ? null : dialog.Payload;
|
var payload = string.IsNullOrEmpty(dialog.Payload) ? null : dialog.Payload;
|
||||||
var role = meta.Role;
|
var role = meta.Role;
|
||||||
var currentAgentId = meta.AgentId;
|
var senderId = role == AgentRole.Function ? meta?.AgentId : meta?.SenderId;
|
||||||
var messageId = meta.MessageId;
|
|
||||||
var messageType = meta.MessageType;
|
|
||||||
var senderId = role == AgentRole.Function ? currentAgentId : meta.SenderId;
|
|
||||||
var createdAt = meta.CreatedTime;
|
|
||||||
var richContent = !string.IsNullOrEmpty(dialog.RichContent) ?
|
var richContent = !string.IsNullOrEmpty(dialog.RichContent) ?
|
||||||
JsonSerializer.Deserialize<RichContent<IRichMessage>>(dialog.RichContent, _options.JsonSerializerOptions) : null;
|
JsonSerializer.Deserialize<RichContent<IRichMessage>>(dialog.RichContent, _options.JsonSerializerOptions) : null;
|
||||||
var secondaryRichContent = !string.IsNullOrEmpty(dialog.SecondaryRichContent) ?
|
var secondaryRichContent = !string.IsNullOrEmpty(dialog.SecondaryRichContent) ?
|
||||||
|
|
@ -79,14 +74,15 @@ public class ConversationStorage : IConversationStorage
|
||||||
|
|
||||||
var record = new RoleDialogModel(role, content)
|
var record = new RoleDialogModel(role, content)
|
||||||
{
|
{
|
||||||
CurrentAgentId = currentAgentId,
|
CurrentAgentId = meta?.AgentId ?? string.Empty,
|
||||||
MessageId = messageId,
|
MessageId = meta?.MessageId ?? string.Empty,
|
||||||
MessageType = messageType,
|
MessageType = meta?.MessageType ?? string.Empty,
|
||||||
CreatedAt = createdAt,
|
MessageLabel = meta?.MessageLabel,
|
||||||
|
CreatedAt = meta?.CreatedTime ?? default,
|
||||||
SenderId = senderId,
|
SenderId = senderId,
|
||||||
FunctionName = meta.FunctionName,
|
FunctionName = meta?.FunctionName,
|
||||||
FunctionArgs = meta.FunctionArgs,
|
FunctionArgs = meta?.FunctionArgs,
|
||||||
ToolCallId = meta.ToolCallId,
|
ToolCallId = meta?.ToolCallId,
|
||||||
RichContent = richContent,
|
RichContent = richContent,
|
||||||
SecondaryContent = secondaryContent,
|
SecondaryContent = secondaryContent,
|
||||||
SecondaryRichContent = secondaryRichContent,
|
SecondaryRichContent = secondaryRichContent,
|
||||||
|
|
@ -120,6 +116,7 @@ public class ConversationStorage : IConversationStorage
|
||||||
AgentId = dialog.CurrentAgentId,
|
AgentId = dialog.CurrentAgentId,
|
||||||
MessageId = dialog.MessageId,
|
MessageId = dialog.MessageId,
|
||||||
MessageType = dialog.MessageType,
|
MessageType = dialog.MessageType,
|
||||||
|
MessageLabel = dialog.MessageLabel,
|
||||||
FunctionName = dialog.FunctionName,
|
FunctionName = dialog.FunctionName,
|
||||||
FunctionArgs = dialog.FunctionArgs,
|
FunctionArgs = dialog.FunctionArgs,
|
||||||
ToolCallId = dialog.ToolCallId,
|
ToolCallId = dialog.ToolCallId,
|
||||||
|
|
@ -146,6 +143,7 @@ public class ConversationStorage : IConversationStorage
|
||||||
AgentId = dialog.CurrentAgentId,
|
AgentId = dialog.CurrentAgentId,
|
||||||
MessageId = dialog.MessageId,
|
MessageId = dialog.MessageId,
|
||||||
MessageType = dialog.MessageType,
|
MessageType = dialog.MessageType,
|
||||||
|
MessageLabel = dialog.MessageLabel,
|
||||||
SenderId = dialog.SenderId,
|
SenderId = dialog.SenderId,
|
||||||
FunctionName = dialog.FunctionName,
|
FunctionName = dialog.FunctionName,
|
||||||
CreatedTime = dialog.CreatedAt
|
CreatedTime = dialog.CreatedAt
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ public partial class RoutingService
|
||||||
message.Indication = response.Indication;
|
message.Indication = response.Indication;
|
||||||
message.CurrentAgentId = agent.Id;
|
message.CurrentAgentId = agent.Id;
|
||||||
message.IsStreaming = response.IsStreaming;
|
message.IsStreaming = response.IsStreaming;
|
||||||
|
message.MessageLabel = response.MessageLabel;
|
||||||
message.AdditionalMessageWrapper = null;
|
message.AdditionalMessageWrapper = null;
|
||||||
|
|
||||||
await InvokeFunction(message, dialogs, options);
|
await InvokeFunction(message, dialogs, options);
|
||||||
|
|
@ -75,6 +76,7 @@ public partial class RoutingService
|
||||||
message = RoleDialogModel.From(message, role: AgentRole.Assistant, content: response.Content);
|
message = RoleDialogModel.From(message, role: AgentRole.Assistant, content: response.Content);
|
||||||
message.CurrentAgentId = agent.Id;
|
message.CurrentAgentId = agent.Id;
|
||||||
message.IsStreaming = response.IsStreaming;
|
message.IsStreaming = response.IsStreaming;
|
||||||
|
message.MessageLabel = response.MessageLabel;
|
||||||
message.AdditionalMessageWrapper = null;
|
message.AdditionalMessageWrapper = null;
|
||||||
dialogs.Add(message);
|
dialogs.Add(message);
|
||||||
Context.SetDialogs(dialogs);
|
Context.SetDialogs(dialogs);
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ public partial class RoutingService
|
||||||
message.StopCompletion = clonedMessage.StopCompletion;
|
message.StopCompletion = clonedMessage.StopCompletion;
|
||||||
message.RichContent = clonedMessage.RichContent;
|
message.RichContent = clonedMessage.RichContent;
|
||||||
message.Data = clonedMessage.Data;
|
message.Data = clonedMessage.Data;
|
||||||
|
message.MessageLabel = clonedMessage.MessageLabel;
|
||||||
message.AdditionalMessageWrapper = clonedMessage.AdditionalMessageWrapper;
|
message.AdditionalMessageWrapper = clonedMessage.AdditionalMessageWrapper;
|
||||||
}
|
}
|
||||||
catch (JsonException ex)
|
catch (JsonException ex)
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ public class ConversationController : ControllerBase
|
||||||
{
|
{
|
||||||
ConversationId = conversationId,
|
ConversationId = conversationId,
|
||||||
MessageId = message.MessageId,
|
MessageId = message.MessageId,
|
||||||
|
MessageLabel = message.MessageLabel,
|
||||||
CreatedAt = message.CreatedAt,
|
CreatedAt = message.CreatedAt,
|
||||||
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
||||||
Data = message.Data,
|
Data = message.Data,
|
||||||
|
|
@ -124,6 +125,7 @@ public class ConversationController : ControllerBase
|
||||||
{
|
{
|
||||||
ConversationId = conversationId,
|
ConversationId = conversationId,
|
||||||
MessageId = message.MessageId,
|
MessageId = message.MessageId,
|
||||||
|
MessageLabel = message.MessageLabel,
|
||||||
CreatedAt = message.CreatedAt,
|
CreatedAt = message.CreatedAt,
|
||||||
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
||||||
Function = message.FunctionName,
|
Function = message.FunctionName,
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,9 @@ public class PlotChartFn : IFunctionCallback
|
||||||
new(AgentRole.Assistant, obj.ReportSummary)
|
new(AgentRole.Assistant, obj.ReportSummary)
|
||||||
{
|
{
|
||||||
MessageId = message.MessageId,
|
MessageId = message.MessageId,
|
||||||
CurrentAgentId = message.CurrentAgentId,
|
MessageLabel = "chart_report_summary",
|
||||||
Indication = "Summarizing",
|
Indication = "Summarizing",
|
||||||
|
CurrentAgentId = message.CurrentAgentId,
|
||||||
FunctionName = message.FunctionName,
|
FunctionName = message.FunctionName,
|
||||||
FunctionArgs = message.FunctionArgs,
|
FunctionArgs = message.FunctionArgs,
|
||||||
CreatedAt = DateTime.UtcNow
|
CreatedAt = DateTime.UtcNow
|
||||||
|
|
|
||||||
|
|
@ -107,6 +107,7 @@ public class ChatHubConversationHook : ConversationHookBase
|
||||||
{
|
{
|
||||||
ConversationId = conv.ConversationId,
|
ConversationId = conv.ConversationId,
|
||||||
MessageId = message.MessageId,
|
MessageId = message.MessageId,
|
||||||
|
MessageLabel = message.MessageLabel,
|
||||||
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
Text = !string.IsNullOrEmpty(message.SecondaryContent) ? message.SecondaryContent : message.Content,
|
||||||
Function = message.FunctionName,
|
Function = message.FunctionName,
|
||||||
RichContent = message.SecondaryRichContent ?? message.RichContent,
|
RichContent = message.SecondaryRichContent ?? message.RichContent,
|
||||||
|
|
@ -139,6 +140,7 @@ public class ChatHubConversationHook : ConversationHookBase
|
||||||
{
|
{
|
||||||
ConversationId = conv.ConversationId,
|
ConversationId = conv.ConversationId,
|
||||||
MessageId = item.MessageId,
|
MessageId = item.MessageId,
|
||||||
|
MessageLabel = item.MessageLabel,
|
||||||
Indication = item.Indication,
|
Indication = item.Indication,
|
||||||
Sender = sender
|
Sender = sender
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ public class DialogMetaDataMongoElement
|
||||||
public string AgentId { get; set; } = default!;
|
public string AgentId { get; set; } = default!;
|
||||||
public string MessageId { get; set; } = default!;
|
public string MessageId { get; set; } = default!;
|
||||||
public string MessageType { get; set; } = default!;
|
public string MessageType { get; set; } = default!;
|
||||||
|
public string? MessageLabel { get; set; }
|
||||||
public string? FunctionName { get; set; }
|
public string? FunctionName { get; set; }
|
||||||
public string? FunctionArgs { get; set; }
|
public string? FunctionArgs { get; set; }
|
||||||
public string? ToolCallId { get; set; }
|
public string? ToolCallId { get; set; }
|
||||||
|
|
@ -60,6 +61,7 @@ public class DialogMetaDataMongoElement
|
||||||
AgentId = meta.AgentId,
|
AgentId = meta.AgentId,
|
||||||
MessageId = meta.MessageId,
|
MessageId = meta.MessageId,
|
||||||
MessageType = meta.MessageType,
|
MessageType = meta.MessageType,
|
||||||
|
MessageLabel = meta.MessageLabel,
|
||||||
FunctionName = meta.FunctionName,
|
FunctionName = meta.FunctionName,
|
||||||
FunctionArgs = meta.FunctionArgs,
|
FunctionArgs = meta.FunctionArgs,
|
||||||
ToolCallId = meta.ToolCallId,
|
ToolCallId = meta.ToolCallId,
|
||||||
|
|
@ -76,6 +78,7 @@ public class DialogMetaDataMongoElement
|
||||||
AgentId = meta.AgentId,
|
AgentId = meta.AgentId,
|
||||||
MessageId = meta.MessageId,
|
MessageId = meta.MessageId,
|
||||||
MessageType = meta.MessageType,
|
MessageType = meta.MessageType,
|
||||||
|
MessageLabel = meta.MessageLabel,
|
||||||
FunctionName = meta.FunctionName,
|
FunctionName = meta.FunctionName,
|
||||||
FunctionArgs = meta.FunctionArgs,
|
FunctionArgs = meta.FunctionArgs,
|
||||||
ToolCallId = meta.ToolCallId,
|
ToolCallId = meta.ToolCallId,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue