diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs index 5fd0c875..e7e4216e 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/AiGateWayManager.cs @@ -139,7 +139,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId, new MessageInputDto { - Content = request.Messages?.LastOrDefault().Content ?? string.Empty, + Content = sessionId is null ? "不予存储" : request.Messages?.LastOrDefault().Content ?? string.Empty, ModelId = request.Model, TokenUsage = data.Usage, }); @@ -147,7 +147,8 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateSystemMessageAsync(userId.Value, sessionId, new MessageInputDto { - Content = data.Choices?.FirstOrDefault()?.Delta.Content, + Content = + sessionId is null ? "不予存储" : data.Choices?.FirstOrDefault()?.Delta.Content ?? string.Empty, ModelId = request.Model, TokenUsage = data.Usage }); @@ -271,7 +272,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateUserMessageAsync(userId, sessionId, new MessageInputDto { - Content = request.Messages?.LastOrDefault()?.Content ?? string.Empty, + Content = sessionId is null ? "不予存储" : request.Messages?.LastOrDefault()?.Content ?? string.Empty, ModelId = request.Model, TokenUsage = tokenUsage, }); @@ -279,7 +280,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateSystemMessageAsync(userId, sessionId, new MessageInputDto { - Content = backupSystemContent.ToString(), + Content = sessionId is null ? "不予存储" : backupSystemContent.ToString(), ModelId = request.Model, TokenUsage = tokenUsage }); @@ -333,7 +334,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateUserMessageAsync(userId, sessionId, new MessageInputDto { - Content = request.Prompt, + Content = sessionId is null ? "不予存储" : request.Prompt, ModelId = model, TokenUsage = response.Usage, }); @@ -341,13 +342,13 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateSystemMessageAsync(userId, sessionId, new MessageInputDto { - Content = response.Results?.FirstOrDefault()?.Url, + Content = sessionId is null ? "不予存储" : response.Results?.FirstOrDefault()?.Url, ModelId = model, TokenUsage = response.Usage }); await _usageStatisticsManager.SetUsageAsync(userId, model, response.Usage); - + // 扣减尊享token包用量 if (userId is not null && PremiumPackageConst.ModeIds.Contains(request.Model)) { @@ -528,7 +529,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId, new MessageInputDto { - Content = request.Messages?.FirstOrDefault()?.Content ?? string.Empty, + Content = sessionId is null ? "不予存储" : request.Messages?.FirstOrDefault()?.Content ?? string.Empty, ModelId = request.Model, TokenUsage = data.TokenUsage, }); @@ -536,7 +537,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateSystemMessageAsync(userId.Value, sessionId, new MessageInputDto { - Content = data.content?.FirstOrDefault()?.text, + Content = sessionId is null ? "不予存储" : data.content?.FirstOrDefault()?.text, ModelId = request.Model, TokenUsage = data.TokenUsage }); @@ -601,35 +602,12 @@ public class AiGateWayManager : DomainService _logger.LogError(e, $"Ai对话异常"); var errorContent = $"对话Ai异常,异常信息:\n当前Ai模型:{request.Model}\n异常信息:{e.Message}\n异常堆栈:{e}"; throw new UserFriendlyException(errorContent); - // var model = new AnthropicStreamDto - // { - // Message = new AnthropicChatCompletionDto - // { - // content = - // [ - // new AnthropicChatCompletionDtoContent - // { - // text = errorContent, - // } - // ], - // }, - // Error = new AnthropicStreamErrorDto - // { - // Type = null, - // Message = errorContent - // } - // }; - // var message = JsonConvert.SerializeObject(model, new JsonSerializerSettings - // { - // ContractResolver = new CamelCasePropertyNamesContractResolver() - // }); - // await response.WriteAsJsonAsync(message, ThorJsonSerializer.DefaultOptions); } await _aiMessageManager.CreateUserMessageAsync(userId, sessionId, new MessageInputDto { - Content = request.Messages?.LastOrDefault()?.Content ?? string.Empty, + Content = sessionId is null ? "不予存储" : request.Messages?.LastOrDefault()?.Content ?? string.Empty, ModelId = request.Model, TokenUsage = tokenUsage, }); @@ -637,7 +615,7 @@ public class AiGateWayManager : DomainService await _aiMessageManager.CreateSystemMessageAsync(userId, sessionId, new MessageInputDto { - Content = backupSystemContent.ToString(), + Content = sessionId is null ? "不予存储" : backupSystemContent.ToString(), ModelId = request.Model, TokenUsage = tokenUsage }); @@ -648,9 +626,9 @@ public class AiGateWayManager : DomainService if (userId.HasValue && tokenUsage is not null) { var totalTokens = tokenUsage.TotalTokens ?? 0; - if (totalTokens > 0) + if (tokenUsage.TotalTokens > 0) { - await PremiumPackageManager.TryConsumeTokensAsync(userId.Value, totalTokens); + await PremiumPackageManager.TryConsumeTokensAsync(userId.Value, totalTokens); } } }