feat: 支持消息自定义创建时间并完善TokenUsage初始化
- 用户消息创建支持传入创建时间,用于统计与回放 - TokenUsage 为空时自动初始化,避免空引用问题 - 网关记录消息开始时间并传递至消息管理器 - 标记并停用旧的发送消息接口 - 前端版本号更新至 3.6 - 移除未使用的 VITE_BUILD_COMPRESS 类型声明
This commit is contained in:
@@ -53,6 +53,15 @@ public class MessageAggregateRoot : FullAuditedAggregateRoot<Guid>
|
||||
TotalTokenCount = tokenUsage.TotalTokens ?? 0
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
this.TokenUsage = new TokenUsageValueObject
|
||||
{
|
||||
OutputTokenCount = 0,
|
||||
InputTokenCount = 0,
|
||||
TotalTokenCount = 0
|
||||
};
|
||||
}
|
||||
|
||||
this.MessageType = sessionId is null ? MessageTypeEnum.Api : MessageTypeEnum.Web;
|
||||
}
|
||||
|
||||
@@ -1143,6 +1143,7 @@ public class AiGateWayManager : DomainService
|
||||
Guid? tokenId = null,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
var startTime = DateTime.Now;
|
||||
var response = httpContext.Response;
|
||||
// 设置响应头,声明是 SSE 流
|
||||
response.ContentType = "text/event-stream;charset=utf-8;";
|
||||
@@ -1217,7 +1218,7 @@ public class AiGateWayManager : DomainService
|
||||
Content = sessionId is null ? "不予存储" : processResult?.UserContent ?? string.Empty,
|
||||
ModelId = sourceModelId,
|
||||
TokenUsage = processResult?.TokenUsage,
|
||||
}, tokenId);
|
||||
}, tokenId,createTime:startTime);
|
||||
|
||||
await _aiMessageManager.CreateSystemMessageAsync(userId, sessionId,
|
||||
new MessageInputDto
|
||||
|
||||
@@ -38,11 +38,15 @@ public class AiMessageManager : DomainService
|
||||
/// <param name="sessionId">会话Id</param>
|
||||
/// <param name="input">消息输入</param>
|
||||
/// <param name="tokenId">Token Id(Web端传Guid.Empty)</param>
|
||||
/// <param name="createTime"></param>
|
||||
/// <returns></returns>
|
||||
public async Task CreateUserMessageAsync(Guid? userId, Guid? sessionId, MessageInputDto input, Guid? tokenId = null)
|
||||
public async Task CreateUserMessageAsync( Guid? userId, Guid? sessionId, MessageInputDto input, Guid? tokenId = null,DateTime? createTime=null)
|
||||
{
|
||||
input.Role = "user";
|
||||
var message = new MessageAggregateRoot(userId, sessionId, input.Content, input.Role, input.ModelId, input.TokenUsage, tokenId);
|
||||
var message = new MessageAggregateRoot(userId, sessionId, input.Content, input.Role, input.ModelId, input.TokenUsage, tokenId)
|
||||
{
|
||||
CreationTime = createTime??DateTime.Now
|
||||
};
|
||||
await _repository.InsertAsync(message);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user