feat: 支持错误处理

This commit is contained in:
chenchun
2025-07-28 13:15:42 +08:00
parent bf443963c8
commit e1d3ec21e5
3 changed files with 8 additions and 7 deletions

View File

@@ -9,10 +9,10 @@ namespace Yi.Framework.AiHub.Application.Contracts.Dtos.OpenAi;
/// </summary> /// </summary>
public class ThorChatCompletionsRequest public class ThorChatCompletionsRequest
{ {
public ThorChatCompletionsRequest() // public ThorChatCompletionsRequest()
{ // {
Messages = new List<ThorChatMessage>(); // Messages = new List<ThorChatMessage>();
} // }
[JsonPropertyName("store")] public bool? Store { get; set; } [JsonPropertyName("store")] public bool? Store { get; set; }

View File

@@ -30,6 +30,7 @@ public class AzureOpenAiChatCompletionCompletionsService(ILogger<AzureOpenAiChat
if (response.StatusCode >= HttpStatusCode.BadRequest) if (response.StatusCode >= HttpStatusCode.BadRequest)
{ {
var error = await response.Content.ReadAsStringAsync(); var error = await response.Content.ReadAsStringAsync();
logger.LogError("Azure对话异常 , StatusCode: {StatusCode} 错误响应内容:{Content}", response.StatusCode, logger.LogError("Azure对话异常 , StatusCode: {StatusCode} 错误响应内容:{Content}", response.StatusCode,
error); error);

View File

@@ -119,7 +119,7 @@ public class AiGateWayManager : DomainService
await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId, await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId,
new MessageInputDto new MessageInputDto
{ {
Content = request.Messages.LastOrDefault().Content ?? string.Empty, Content = request.Messages?.LastOrDefault().Content ?? string.Empty,
ModelId = request.Model, ModelId = request.Model,
TokenUsage = data.Usage, TokenUsage = data.Usage,
}); });
@@ -213,7 +213,7 @@ public class AiGateWayManager : DomainService
catch (Exception e) catch (Exception e)
{ {
_logger.LogError(e, $"Ai对话异常"); _logger.LogError(e, $"Ai对话异常");
var errorContent = $"Ai异常异常信息\n当前Ai模型{request.Model}\n异常信息{e.Message}"; var errorContent = $"Ai异常异常信息\n当前Ai模型{request.Model}\n异常信息{e.Message}\n异常堆栈:{e}";
var model = new ThorChatCompletionsResponse() var model = new ThorChatCompletionsResponse()
{ {
Choices = new List<ThorChatChoiceResponse>() Choices = new List<ThorChatChoiceResponse>()
@@ -247,7 +247,7 @@ public class AiGateWayManager : DomainService
await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId, await _aiMessageManager.CreateUserMessageAsync(userId.Value, sessionId,
new MessageInputDto new MessageInputDto
{ {
Content = request.Messages.LastOrDefault()?.Content ?? string.Empty, Content = request.Messages?.LastOrDefault()?.Content ?? string.Empty,
ModelId = request.Model, ModelId = request.Model,
TokenUsage = tokenUsage, TokenUsage = tokenUsage,
}); });