From 68056e17d3d8060069f248c124b47504af6bc26d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=B0=8F=E8=82=A5=E7=BE=8A?= <1048382248@qq.com>
Date: Thu, 28 Nov 2024 18:15:34 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20=E8=AF=BE=E5=A0=82?=
=?UTF-8?q?=E6=8C=87=E6=A0=87=E5=A4=9A=E4=BD=99=E5=AD=97=E6=AE=B5=E5=88=A0?=
=?UTF-8?q?=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Components/Pages/EvaluationProject.razor | 10 +++--
.../Pages/EvaluationProject.razor.cs | 2 +-
.../Components/Pages/VideoTaskPage.razor.cs | 2 +-
.../AICore/ChatGPT/Dto/QuestionRes.cs | 12 +++++-
.../AICore/ChatGPT/KIMI/KIMI_GPT.cs | 43 +++++++++----------
VideoAnalysisCore/Common/RedisExpand.cs | 2 +-
6 files changed, 40 insertions(+), 31 deletions(-)
diff --git a/VideoAnalysis/Components/Pages/EvaluationProject.razor b/VideoAnalysis/Components/Pages/EvaluationProject.razor
index e40e629..136336f 100644
--- a/VideoAnalysis/Components/Pages/EvaluationProject.razor
+++ b/VideoAnalysis/Components/Pages/EvaluationProject.razor
@@ -13,13 +13,13 @@
-
-
+
StartEdit(row)">修改
-
+
+
@@ -41,7 +41,9 @@
Content =
@
,
OkText = "确定",
diff --git a/VideoAnalysis/Components/Pages/EvaluationProject.razor.cs b/VideoAnalysis/Components/Pages/EvaluationProject.razor.cs
index eb292fd..bde5e2f 100644
--- a/VideoAnalysis/Components/Pages/EvaluationProject.razor.cs
+++ b/VideoAnalysis/Components/Pages/EvaluationProject.razor.cs
@@ -36,7 +36,7 @@ namespace Learn.VideoAnalysis.Components.Pages
}
_dataSource = await criteria.AsQueryable()
.Where(where)
- .ToPageListAsync(query.PageIndex - 1, query.PageSize, _total);
+ .ToPageListAsync(query.PageIndex, query.PageSize, _total);
tableLoading = false;
StateHasChanged();
diff --git a/VideoAnalysis/Components/Pages/VideoTaskPage.razor.cs b/VideoAnalysis/Components/Pages/VideoTaskPage.razor.cs
index 550f57b..67daad1 100644
--- a/VideoAnalysis/Components/Pages/VideoTaskPage.razor.cs
+++ b/VideoAnalysis/Components/Pages/VideoTaskPage.razor.cs
@@ -101,7 +101,7 @@ namespace Learn.VideoAnalysis.Components.Pages
.Where(where)
.Select()
.OrderByDescending(s => s.Id)
- .ToPageListAsync(query.PageIndex - 1, query.PageSize, _total);
+ .ToPageListAsync(query.PageIndex , query.PageSize, _total);
tableLoading = false;
StateHasChanged();
diff --git a/VideoAnalysisCore/AICore/ChatGPT/Dto/QuestionRes.cs b/VideoAnalysisCore/AICore/ChatGPT/Dto/QuestionRes.cs
index d2a3767..ac715c4 100644
--- a/VideoAnalysisCore/AICore/ChatGPT/Dto/QuestionRes.cs
+++ b/VideoAnalysisCore/AICore/ChatGPT/Dto/QuestionRes.cs
@@ -21,6 +21,7 @@ namespace VideoAnalysisCore.AICore.ChatGPT.Dto
///
public JsonDocument 结果 { get; set; }
+ private object? _cached = null;
///
/// 转换结果为对象
///
@@ -30,7 +31,16 @@ namespace VideoAnalysisCore.AICore.ChatGPT.Dto
{
try
{
- return System.Text.Json.JsonSerializer.Deserialize(结果.RootElement.GetRawText());
+ if(_cached != null)
+ return (T)_cached;
+ var r = 结果.RootElement.GetRawText();
+ if (r is null)
+ return default;
+ _cached = System.Text.Json.JsonSerializer.Deserialize(r);
+
+ if (_cached is null)
+ return default;
+ return (T)_cached;
}
catch
{
diff --git a/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs b/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs
index 31e47c2..74b29c0 100644
--- a/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs
+++ b/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs
@@ -56,7 +56,8 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
criteriaBuilder.Append(item.Id);
criteriaBuilder.Append(":");
criteriaBuilder.Append(item.NamePrompt);
- criteriaBuilder.Append("请基于解释打分(0-10分 6分为及格) 结果类型 int |");
+ criteriaBuilder.Append("? 请基于解释打分(0-10分 6分为及格) 结果类型 array=[得分,简明的提问的回答,对于问题的详细改进意见,详细的列举出主要扣分原因] |");
+
}
//拼接枚举提问
foreach (var value in System.Enum.GetValues(typeof(QuestionTypeEnum)))
@@ -74,6 +75,9 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
var resFormat = "[{问题编号:int,结果:array|bool|object,问题解释:string}]";
var postMessages =
+ $"你是一个教学经验老道老师对教学工作有着深入的理解和丰富的经验,能够准确把握教学大纲的要求和教学重点。" +
+ $"熟练掌握各种教学管理方法和手段,能够制定科学合理的教学计划和教学评估体系。" +
+ $"善于发现教学中的问题,并能迅速提出有效的解决方案,确保教学工作的顺利进行。" +
$"以下是一段音频的字幕,分析这段字幕(格式 说话人:开始秒:结束秒:内容|下一段字幕)." +
$"来简明的回答提出的问题 问题列表 {criteriaBuilder} " +
$"字幕列表 {captions.Captions} " +
@@ -82,10 +86,11 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
if (modelsResp is null || modelsResp.data.Count == 0)
throw new Exception("未获取KIMI模型类型");
var reqTokenCount = await moonshotClient.GetAsTiMateTokenCount(postMessages);
- var modelId = reqTokenCount > 32 * 1000 ? "moonshot-v1-128k" : "moonshot-v1-32k";
+ var maxTokens = 4000;
+ var modelId = reqTokenCount > 32 * 1000 - maxTokens ? "moonshot-v1-128k" : "moonshot-v1-32k";
var chatRep = new ChatReq
{
- max_tokens = 32*1024 - (reqTokenCount + 30),
+ max_tokens = maxTokens,
temperature = 0.3f,
frequency_penalty = 0,
presence_penalty = 0,
@@ -102,7 +107,6 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
$" {JsonSerializer.Serialize(chatResp)}");
var chatResContent = chatResp?.choices.FirstOrDefault()?.message.content;
-
if (chatResContent is null)
throw new Exception("KIMIGPT返回message无效结果");
var questionRes = JsonSerializer.Deserialize(chatResContent);
@@ -115,28 +119,21 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI
.ToDictionary(s => s.问题编号);
//AI综合评估
var criteriaDic = criteriaArr.ToDictionary(s => s.Id);
+
+ var ccArr = arr1.Select(s => new CourseCriteria()
+ {
+ Id = criteriaDic[s.问题编号].Id,
+ Score = int.Parse(s.ToObject