From 17412d7de742d21860ecfc92a1f6bff47b8037ec Mon Sep 17 00:00:00 2001 From: ccnetcore Date: Wed, 9 Jul 2025 23:11:57 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E6=94=AF=E6=8C=81Pro?= =?UTF-8?q?mpt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/OpenApiService.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/OpenApiService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/OpenApiService.cs index 5a46a73e..ef9b0357 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/OpenApiService.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/OpenApiService.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Http; +using Dm.util; +using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using OpenAI.Chat; @@ -36,13 +37,17 @@ public class OpenApiService : ApplicationService /// /// [HttpPost("openApi/v1/chat/completions")] - public async Task ChatCompletionsAsync([FromBody]ChatCompletionsInput input, CancellationToken cancellationToken) + public async Task ChatCompletionsAsync([FromBody] ChatCompletionsInput input, CancellationToken cancellationToken) { //前面都是校验,后面才是真正的调用 var httpContext = this._httpContextAccessor.HttpContext; - + var userId = await _tokenManager.GetUserIdAsync(GetTokenByHttpContext(httpContext)); var history = new List(); + if (!string.IsNullOrWhiteSpace(input.Prompt)) + { + history.add(ChatMessage.CreateSystemMessage(input.Prompt)); + } foreach (var aiChatContextDto in input.Messages) { if (aiChatContextDto.Role == "assistant") @@ -53,7 +58,7 @@ public class OpenApiService : ApplicationService { history.Add(ChatMessage.CreateUserMessage(aiChatContextDto.ConvertContent())); } - else if (aiChatContextDto.Role == "system") + else if (aiChatContextDto.Role == "system") { history.Add(ChatMessage.CreateSystemMessage(aiChatContextDto.ConvertContent())); }