From a46eb176d7beedf9444b246f8874ade42beb85b3 Mon Sep 17 00:00:00 2001 From: ccnetcore Date: Mon, 23 Jun 2025 23:04:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/AiChatService.cs | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs index 64c8ce4d..950ee61d 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/AiChatService.cs @@ -100,23 +100,23 @@ public class AiChatService : ApplicationService } var gateWay = LazyServiceProvider.GetRequiredService(); - // var completeChatResponse = gateWay.CompleteChatAsync(input.Model, history, cancellationToken); - // await using var writer = new StreamWriter(response.Body, Encoding.UTF8, leaveOpen: true); - // await foreach (var data in completeChatResponse) - // { - // var model = MapToMessage(input.Model, data); - // var message = JsonConvert.SerializeObject(model, new JsonSerializerSettings - // { - // ContractResolver = new CamelCasePropertyNamesContractResolver() - // }); - // - // await writer.WriteLineAsync($"data: {message}\n"); - // await writer.FlushAsync(cancellationToken); // 确保立即推送数据 - // } + var completeChatResponse = gateWay.CompleteChatAsync(input.Model, history, cancellationToken); + await using var writer = new StreamWriter(response.Body, Encoding.UTF8, leaveOpen: true); + await foreach (var data in completeChatResponse) + { + var model = MapToMessage(input.Model, data); + var message = JsonConvert.SerializeObject(model, new JsonSerializerSettings + { + ContractResolver = new CamelCasePropertyNamesContractResolver() + }); + + await writer.WriteLineAsync($"data: {message}\n"); + await writer.FlushAsync(cancellationToken); // 确保立即推送数据 + } //断开连接 - // await writer.WriteLineAsync("data: done\n"); - // await writer.FlushAsync(cancellationToken); // 确保立即推送数据 + await writer.WriteLineAsync("data: done\n"); + await writer.FlushAsync(cancellationToken); // 确保立即推送数据 if (CurrentUser.IsAuthenticated && input.SessionId.HasValue) {