From 575a69bf4d9bd48745dbfe648fe182b584dc63fb Mon Sep 17 00:00:00 2001 From: zyxucp <286513187@qq.com> Date: Mon, 11 Mar 2024 23:16:23 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E5=A2=9E=E5=8A=A0=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=EF=BC=8C=E6=9A=82=E6=97=B6=E5=8F=96=E6=B6=88=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E5=87=BD=E6=95=B0=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Domain/Service/ChatService.cs | 9 +- src/AntSK.Domain/Domain/Service/KMService.cs | 8 +- .../Domain/Service/KernelService.cs | 12 +- src/AntSK.Domain/Model/Enum/AppType.cs | 14 ++ .../Components/ChartCard/ChartCard.razor | 26 +++ .../Components/ChartCard/ChartCard.razor.cs | 31 ++++ .../Components/ChartCard/ChartCard.razor.css | 77 +++++++++ .../GlobalHeader/RightContent.razor | 3 +- src/AntSK/Pages/AppPage/AddApp.razor | 9 +- src/AntSK/Pages/AppPage/AppList.razor | 5 +- src/AntSK/Pages/Index.Razor.cs | 60 +++++++ src/AntSK/Pages/Index.razor | 89 ++++++---- src/AntSK/Pages/Index.razor.css | 161 ++++++++++++++++++ 13 files changed, 450 insertions(+), 54 deletions(-) create mode 100644 src/AntSK.Domain/Model/Enum/AppType.cs create mode 100644 src/AntSK/Components/ChartCard/ChartCard.razor create mode 100644 src/AntSK/Components/ChartCard/ChartCard.razor.cs create mode 100644 src/AntSK/Components/ChartCard/ChartCard.razor.css create mode 100644 src/AntSK/Pages/Index.Razor.cs create mode 100644 src/AntSK/Pages/Index.razor.css diff --git a/src/AntSK.Domain/Domain/Service/ChatService.cs b/src/AntSK.Domain/Domain/Service/ChatService.cs index 66bc7d4..4d50fc0 100644 --- a/src/AntSK.Domain/Domain/Service/ChatService.cs +++ b/src/AntSK.Domain/Domain/Service/ChatService.cs @@ -40,10 +40,11 @@ namespace AntSK.Domain.Domain.Service var _kernel = _kernelService.GetKernelByApp(app); var temperature = app.Temperature / 100;//存的是0~100需要缩小 OpenAIPromptExecutionSettings settings = new() { Temperature = temperature }; - - _kernelService.ImportFunctionsByApp(app, _kernel); - settings.ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions; - + if (!string.IsNullOrEmpty(app.ApiFunctionList))//这里还需要加上本地插件的 + { + _kernelService.ImportFunctionsByApp(app, _kernel); + settings.ToolCallBehavior = ToolCallBehavior.AutoInvokeKernelFunctions; + } var func = _kernel.CreateFunctionFromPrompt(app.Prompt, settings); var chatResult = _kernel.InvokeStreamingAsync(function: func, arguments: new KernelArguments() { ["input"] = $"{history}{Environment.NewLine} user:{questions}" }); await foreach (var content in chatResult) diff --git a/src/AntSK.Domain/Domain/Service/KMService.cs b/src/AntSK.Domain/Domain/Service/KMService.cs index 2ec60f7..95a8ba1 100644 --- a/src/AntSK.Domain/Domain/Service/KMService.cs +++ b/src/AntSK.Domain/Domain/Service/KMService.cs @@ -26,7 +26,7 @@ namespace AntSK.Domain.Domain.Service public MemoryServerless GetMemoryByKMS(string kmsID, SearchClientConfig searchClientConfig = null) { - if (_memory.IsNull()) + //if (_memory.IsNull()) { //获取KMS配置 var kms = _kmss_Repositories.GetFirst(p => p.Id == kmsID); @@ -67,9 +67,9 @@ namespace AntSK.Domain.Domain.Service _memory = memoryBuild.Build(); return _memory; } - else { - return _memory; - } + //else { + // return _memory; + //} } diff --git a/src/AntSK.Domain/Domain/Service/KernelService.cs b/src/AntSK.Domain/Domain/Service/KernelService.cs index 062139f..debeb1e 100644 --- a/src/AntSK.Domain/Domain/Service/KernelService.cs +++ b/src/AntSK.Domain/Domain/Service/KernelService.cs @@ -45,7 +45,7 @@ namespace AntSK.Domain.Domain.Service /// public Kernel GetKernelByApp(Apps app) { - if (_kernel.IsNull()) + //if (_kernel.IsNull()) { var chatModel = _aIModels_Repositories.GetFirst(p => p.Id == app.ChatModelID); @@ -58,10 +58,10 @@ namespace AntSK.Domain.Domain.Service RegisterPluginsWithKernel(_kernel); return _kernel; } - else - { - return _kernel; - } + //else + //{ + // return _kernel; + //} } private void WithTextGenerationByAIType(IKernelBuilder builder, Apps app, AIModels chatModel, HttpClient chatHttpClient) @@ -104,7 +104,7 @@ namespace AntSK.Domain.Domain.Service public void ImportFunctionsByApp(Apps app, Kernel _kernel) { //插件不能重复注册,否则会异常 - if (!_kernel.Plugins.Any(p => p.Name == "AntSkFunctions")) + if (_kernel.Plugins.Any(p => p.Name == "AntSkFunctions")) { return; } diff --git a/src/AntSK.Domain/Model/Enum/AppType.cs b/src/AntSK.Domain/Model/Enum/AppType.cs new file mode 100644 index 0000000..ca10908 --- /dev/null +++ b/src/AntSK.Domain/Model/Enum/AppType.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AntSK.Domain.Model.Enum +{ + public enum AppType + { + chat=1, + kms=2 + } +} diff --git a/src/AntSK/Components/ChartCard/ChartCard.razor b/src/AntSK/Components/ChartCard/ChartCard.razor new file mode 100644 index 0000000..c26a159 --- /dev/null +++ b/src/AntSK/Components/ChartCard/ChartCard.razor @@ -0,0 +1,26 @@ +@namespace AntSK.Components +@inherits AntDomComponentBase + + +
+
+
@Avatar
+
+
+ @Title + +
+
+ @Total +
+
+
+
+
@ChildContent
+
+ +
+
+ diff --git a/src/AntSK/Components/ChartCard/ChartCard.razor.cs b/src/AntSK/Components/ChartCard/ChartCard.razor.cs new file mode 100644 index 0000000..6b95a5e --- /dev/null +++ b/src/AntSK/Components/ChartCard/ChartCard.razor.cs @@ -0,0 +1,31 @@ +using Microsoft.AspNetCore.Components; + +namespace AntSK.Components +{ + public partial class ChartCard + { + [Parameter] + public string Avatar { get; set; } + + [Parameter] + public string Title { get; set; } + + [Parameter] + public RenderFragment Action { get; set; } + + [Parameter] + public string Total { get; set; } + + [Parameter] + public RenderFragment ChildContent { get; set; } + + [Parameter] + public RenderFragment Footer { get; set; } + + [Parameter] + public string ContentHeight { get; set; } + + [Parameter] + public string Icon { get; set; } + } +} \ No newline at end of file diff --git a/src/AntSK/Components/ChartCard/ChartCard.razor.css b/src/AntSK/Components/ChartCard/ChartCard.razor.css new file mode 100644 index 0000000..33bfd50 --- /dev/null +++ b/src/AntSK/Components/ChartCard/ChartCard.razor.css @@ -0,0 +1,77 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +.chartCard { + position: relative; +} +.chartCard .chartTop { + position: relative; + width: 100%; + overflow: hidden; +} +.chartCard .chartTopMargin { + margin-bottom: 12px; +} +.chartCard .chartTopHasMargin { + margin-bottom: 20px; +} +.chartCard .metaWrap { + float: left; +} +.chartCard .avatar { + position: relative; + top: 4px; + float: left; + margin-right: 20px; +} +.chartCard .avatar img { + border-radius: 100%; +} +.chartCard .meta { + height: 22px; + color: rgba(0, 0, 0, 0.45); + font-size: 14px; + line-height: 22px; +} +.chartCard .action { + position: absolute; + top: 4px; + right: 0; + line-height: 1; + cursor: pointer; +} +.chartCard .total { + height: 38px; + margin-top: 4px; + margin-bottom: 0; + overflow: hidden; + color: rgba(0, 0, 0, 0.85); + font-size: 30px; + line-height: 38px; + white-space: nowrap; + text-overflow: ellipsis; + word-break: break-all; +} +.chartCard .content { + position: relative; + width: 100%; + margin-bottom: 12px; +} +.chartCard .contentFixed { + position: absolute; + bottom: 0; + left: 0; + width: 100%; +} +.chartCard .footer { + margin-top: 8px; + padding-top: 9px; + border-top: 1px solid #f0f0f0; +} +.chartCard .footer > * { + position: relative; +} +.chartCard .footerMargin { + margin-top: 20px; +} diff --git a/src/AntSK/Components/GlobalHeader/RightContent.razor b/src/AntSK/Components/GlobalHeader/RightContent.razor index e5def75..b92c957 100644 --- a/src/AntSK/Components/GlobalHeader/RightContent.razor +++ b/src/AntSK/Components/GlobalHeader/RightContent.razor @@ -3,7 +3,8 @@ @inherits AntDomComponentBase - + + - 会话应用 - 知识库 + 会话应用 + 知识库 @@ -37,7 +38,7 @@ - @if (@context.Type == "chat") + @if (@context.Type == AppType.chat.ToString()) { @@ -66,7 +67,7 @@ } - @if (@context.Type == "kms") + @if (@context.Type == AppType.kms.ToString()) {