diff --git a/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs b/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs index 0ad2985..6c12246 100644 --- a/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs +++ b/VideoAnalysisCore/AICore/ChatGPT/KIMI/KIMI_GPT.cs @@ -65,8 +65,9 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI criteriaBuilder.Append((int)(item.TotalScore * 10)); criteriaBuilder.Append("分"); criteriaBuilder.Append((int)(item.PassScore * 10)); - criteriaBuilder.Append("分为及格."); - criteriaBuilder.Append("结果类型 array=[得分,问题详细回答,详细的改进意见,详细的扣分原因] |"); + criteriaBuilder.Append("分为及格"); + criteriaBuilder.Append(":"); + criteriaBuilder.Append("array=[得分,问题的回答,问题的详细改进意见,问题的详细扣分原因] 限制:给出的得分不要超过满分|"); } //拼接枚举提问 @@ -88,9 +89,10 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI $"你是一个教学经验老道老师对教学工作有着深入的理解和丰富的经验,能够准确把握教学大纲的要求和教学重点。" + $"熟练掌握各种教学管理方法和手段,能够制定科学合理的教学计划和教学评估体系。" + $"善于发现教学中的问题,并能迅速提出有效的解决方案,确保教学工作的顺利进行。" + - $"以下是一段音频的字幕,分析这段字幕(格式 说话人:开始秒:结束秒:内容|下一段字幕)." + - $"来简明的回答提出的问题 问题列表 {criteriaBuilder} " + + $"以下是一段音频的字幕,分析这段字幕 字幕格式(说话人:开始秒:结束秒:内容|下一段字幕)." + $"字幕列表 {captions.Captions} " + + $"基于字幕内容回答提出的所有问题 问题格式(问题编号:问题描述:结束秒:结果类型|下一个问题)" + + $"问题列表 {criteriaBuilder} " + $"返回固定的JSON数组格式({resFormat})."; var modelsResp = await moonshotClient.ListModels(); if (modelsResp is null || modelsResp.data.Count == 0) diff --git a/VideoAnalysisCore/AICore/ChatGPT/KIMI/MoonshotClient.cs b/VideoAnalysisCore/AICore/ChatGPT/KIMI/MoonshotClient.cs index 00f94f2..8e66096 100644 --- a/VideoAnalysisCore/AICore/ChatGPT/KIMI/MoonshotClient.cs +++ b/VideoAnalysisCore/AICore/ChatGPT/KIMI/MoonshotClient.cs @@ -184,6 +184,7 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI private async Task PostJsonStreamAsync(string path, string json) { + var uriBuilder = new UriBuilder(Host + path); var maxRestart = 4; var errorMSG = new Exception[maxRestart]; for (int i = 0; i < maxRestart; i++) @@ -203,18 +204,22 @@ namespace VideoAnalysisCore.AICore.ChatGPT.KIMI //request.Content = new StringContent(json, Encoding.UTF8, "application/json"); //return await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead); - var uriBuilder = new UriBuilder(Host + path); var content = new StringContent(json, Encoding.UTF8, "application/json"); return await client.PostAsync(uriBuilder.Uri, content); } catch (Exception e) { errorMSG[i] = e; + Console.WriteLine("====================[请求异常,重试]===================="); + Console.WriteLine(uriBuilder.Uri); + Console.WriteLine(e.Message); + Console.WriteLine(e.StackTrace); + Console.WriteLine("=============================================="); + } Thread.Sleep(1000); } - string error = string.Join('\r', errorMSG.Select(s => "\r\n"+ s.Message + "\r\n" + s.StackTrace + "\r\n >>>>>>>>")); - throw new Exception("重试后仍旧失败!\r\n" + error); + throw errorMSG.Last(s=>s!=null); } private HttpRequestMessage ToHttpRequest(string path) diff --git a/VideoAnalysisCore/Enum/QuestionTypeEnum.cs b/VideoAnalysisCore/Enum/QuestionTypeEnum.cs index 2d7fc76..2b7c696 100644 --- a/VideoAnalysisCore/Enum/QuestionTypeEnum.cs +++ b/VideoAnalysisCore/Enum/QuestionTypeEnum.cs @@ -15,12 +15,12 @@ namespace VideoAnalysisCore.Enum 高频词 = 5001, [Display(Prompt = "基于字幕描述内容精准的划分成时间片段" + ",提取片段的内容概览,字幕开始秒,结束秒.作为返回结果.每个个片段不低于120秒 结果类型[{Start:开始秒,End:结束秒,Content:概览}]")] - 时间段概览 = 5001, + 时间段概览 = 5002, [Display(Prompt = "统计授课中教师回答类型的次数 回答类型" + "[重复回答,老师追问,简单性表扬,老师补充答案,表扬并补充答案] 结果类型{回答类型:次数}")] - 提问类型 = 5002, + 提问类型 = 5003, [Display(Prompt = " 分析授课中教师提到 以下类型" + "[独立学习,小组合作,随堂练习]的时间段,提取出其中字幕开始秒,结束秒 结果类型[{Start:开始秒,End:结束秒,Content:类型}/null]")] - 额外课堂情况 = 5003, + 额外课堂情况 = 5004, } }