优化 课堂指标多余字段删除
This commit is contained in:
parent
b332fa742c
commit
68056e17d3
|
|
@ -13,13 +13,13 @@
|
|||
</Flex>
|
||||
</TitleTemplate>
|
||||
<ColumnDefinitions Context="row">
|
||||
<Selection />
|
||||
<ActionColumn Title="操作列">
|
||||
<ActionColumn Title="操作列" Width ="230px">
|
||||
<a @onclick="() => StartEdit(row)">修改</a>
|
||||
<Button Type="@ButtonType.Link" Danger @onclick="() => Delete(row)">
|
||||
删除</Button>
|
||||
</ActionColumn>
|
||||
<GenerateColumns Definitions="@((n,c) => { c.Filterable = true; c.Sortable = true; })" />
|
||||
<PropertyColumn Property="c=>c.Id" Width="130px" Filterable="true" Sortable="true" />
|
||||
<PropertyColumn Property="c=>c.NamePrompt" />
|
||||
</ColumnDefinitions>
|
||||
</Table>
|
||||
|
||||
|
|
@ -41,7 +41,9 @@
|
|||
Content =
|
||||
@<Form @ref="form" Model="data" OnFinish="()=> modalRef.OkAsync(true)"
|
||||
LabelColSpan="6" WrapperColSpan="18">
|
||||
<GenerateFormItem NotGenerate="@(x=> x == "Id")" />
|
||||
<FormItem Label="标准提问词" >
|
||||
<TextArea Rows="4" @bind-Value="@context.NamePrompt" />
|
||||
</FormItem>
|
||||
</Form>
|
||||
,
|
||||
OkText = "确定",
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ namespace Learn.VideoAnalysis.Components.Pages
|
|||
.Where(where)
|
||||
.Select<VideoTaskDto>()
|
||||
.OrderByDescending(s => s.Id)
|
||||
.ToPageListAsync(query.PageIndex - 1, query.PageSize, _total);
|
||||
.ToPageListAsync(query.PageIndex , query.PageSize, _total);
|
||||
|
||||
tableLoading = false;
|
||||
StateHasChanged();
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ namespace VideoAnalysisCore.AICore.ChatGPT.Dto
|
|||
/// </summary>
|
||||
public JsonDocument 结果 { get; set; }
|
||||
|
||||
private object? _cached = null;
|
||||
/// <summary>
|
||||
/// 转换结果为对象
|
||||
/// </summary>
|
||||
|
|
@ -30,7 +31,16 @@ namespace VideoAnalysisCore.AICore.ChatGPT.Dto
|
|||
{
|
||||
try
|
||||
{
|
||||
return System.Text.Json.JsonSerializer.Deserialize<T>(结果.RootElement.GetRawText());
|
||||
if(_cached != null)
|
||||
return (T)_cached;
|
||||
var r = 结果.RootElement.GetRawText();
|
||||
if (r is null)
|
||||
return default;
|
||||
_cached = System.Text.Json.JsonSerializer.Deserialize<T>(r);
|
||||
|
||||
if (_cached is null)
|
||||
return default;
|
||||
return (T)_cached;
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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<QuestionRes[]>(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<object[]>()?[0].ToString() ?? string.Empty),
|
||||
Prompt = s.ToObject<object[]>()?[1].ToString() ?? string.Empty,
|
||||
ImprovedMethods = s.ToObject<object[]>()?[2].ToString() ?? string.Empty,
|
||||
Analyze = s.问题解释 + s.ToObject<object[]>()?[3].ToString() ?? string.Empty,
|
||||
//Analyze = s.问题解释 ?? string.Empty,
|
||||
}).ToArray();
|
||||
gptRes.Assessment = new AssessmentDto()
|
||||
{
|
||||
Bad = arr1.Where(s => s.ToObject<int>() < 6)
|
||||
.Select(s => new CourseCriteria()
|
||||
{
|
||||
Id = criteriaDic[s.问题编号].Id,
|
||||
ImprovedMethods = criteriaDic[s.问题编号].ImprovedMethods,
|
||||
Analyze = s.问题解释 ?? string.Empty,
|
||||
Score = s.ToObject<int>(),
|
||||
Prompt = criteriaDic[s.问题编号].Flaw,
|
||||
}).ToArray(),
|
||||
Merit = arr1.Where(s => s.ToObject<int>() >= 6)
|
||||
.Select(s => new CourseCriteria()
|
||||
{
|
||||
Id = criteriaDic[s.问题编号].Id,
|
||||
Score = s.ToObject<int>(),
|
||||
//ImprovedMethods = criteriaDic[s.问题编号].ImprovedMethods,
|
||||
Analyze = s.问题解释 ?? string.Empty,
|
||||
Prompt = criteriaDic[s.问题编号].Advantage,
|
||||
}).ToArray(),
|
||||
Bad = ccArr.Where(s => s.Score< 6 ).ToArray(),
|
||||
Merit = ccArr.Where(s => s.Score>= 6).ToArray(),
|
||||
};
|
||||
|
||||
//高频词汇
|
||||
gptRes.Hotwords = arr2[(int)QuestionTypeEnum.高频词].ToObject<string[]>() ?? ["暂无数据"];
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ namespace VideoAnalysisCore.Common
|
|||
/// <param name="taskId"></param>
|
||||
public static void SetTaskGPTCached(object taskId, object? data)
|
||||
{
|
||||
Redis.Set(RedisExpandKey.TaskGPT(taskId), data, 3600);
|
||||
Redis.Set(RedisExpandKey.TaskGPT(taskId), data, 3600*24);
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取任务进度
|
||||
|
|
|
|||
Loading…
Reference in New Issue