优化 课程类型分析流程

This commit is contained in:
小肥羊 2025-10-21 18:02:33 +08:00
parent 2609f13ea5
commit 1cb53fe405
3 changed files with 12 additions and 11 deletions

View File

@ -308,7 +308,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek
$"4.生成内容总结与主题内容总结用1-2句话简述该阶段的核心讲解内容例如“通过例题演示柯西不等式在求最值中的应用”。" +
$"5.阶段主题:基于内容总结,提炼一个具体主题(例如,“柯西不等式的基本应用”)。" +
$"6.时长检查与调整计算每个阶段的时长结束时间减开始时间。如果阶段时长低于50秒则合并相邻的类似内容阶段例如将两个连续的例题讲解合并为一个阶段或扩展时间段以确保最低50秒。调整时需保持内容连贯性。" +
$"7.输出要求:最终分析结果应列出每个阶段的开始时间、结束时间、阶段类型、主题和内容总结(不包含提示词内容),确保划分合理、无重叠,且时长符合要求。" +
$"7.输出要求:最终分析结果应列出每个阶段的开始时间、结束时间、阶段类型、主题和详细的内容总结(50~100字不包含提示词内容),确保划分合理、无重叠,且时长符合要求。" +
$"输出内容只返回json格式({resFormat})" +
$"字幕格式(开始秒:内容|下一段字幕).以下是包含时间的视频字幕文本。" +
$"字幕列表 {captions.Captions} 字幕结束!";
@ -326,7 +326,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek
$"4.生成内容总结与主题内容总结用1-2句话简述该阶段的核心讲解内容例如“通过例题演示柯西不等式在求最值中的应用”。" +
$"5.阶段主题:基于内容总结,提炼一个具体主题(例如,“柯西不等式的基本应用”)。" +
$"6.时长检查与调整计算每个阶段的时长结束时间减开始时间。如果阶段时长低于50秒则合并相邻的类似内容阶段例如将两个连续的例题讲解合并为一个阶段或扩展时间段以确保最低50秒。调整时需保持内容连贯性。" +
$"7.输出要求:最终分析结果应列出每个阶段的开始时间、结束时间、阶段类型、主题和内容总结,确保划分合理、无重叠,且时长符合要求。" +
$"7.输出要求:最终分析结果应列出每个阶段的开始时间、结束时间、阶段类型、主题和详细的内容总结(50~100字不包含提示词内容),确保划分合理、无重叠,且时长符合要求。" +
$"输出格式要求内容只返回json格式({resFormat})" +
$"字幕格式(开始秒:内容|下一段字幕).以下是包含时间的视频字幕文本。" +
$"字幕列表 {captions.Captions} 字幕结束!";
@ -420,7 +420,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek
$"输出内容只返回json格式为({resFormat})" +
$"以下是试题内容" +
$"`{sRes.Result.res.value}`";
var resData = await chatGPTClient.ChatAsync<VideoQuestionOSSDto[]>(taskInfo.Id.ToString(), postMessages, "提取试题");
var resData = await chatClient.ChatAsync<VideoQuestionOSSDto[]>(taskInfo.Id.ToString(), postMessages, "提取试题");
//var resData = await chatClient.ChatAsync<VideoQuestionOSSDto[]>(taskInfo.Id.ToString(), postMessages, "提取试题");
if (resData is null || resData.Count() == 0)
break;
@ -621,11 +621,8 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek
var taskInfo = await videoTaskDB.AsQueryable()
.Where(s => s.Id == taskId)
.FirstAsync();
if (taskInfo.VideoType != null)
{
if (taskInfo.VideoType != null&& taskInfo.VideoType!=AttachmentsInfoType.)
return;
}
var subject = taskInfo.Subject.ToString();
var Course_Id = taskInfo.CourseId;
var videoTypeStr = string.Join(',', Enum.GetNames(typeof(AttachmentsInfoType)));

View File

@ -310,11 +310,14 @@ namespace VideoAnalysisCore.Common
var oldTaskArr = Redis.LRange(RedisExpandKey.IDTask, 0, oldTaskCount);
Redis.LTrim(RedisExpandKey.IDTask, 1, 0);//删除 redis 列表
foreach (var oldTask in oldTaskArr)
{
_ = Task.Run(async () =>
{
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss") + "-------------> 接收上次未完成任务 " + oldTask);
await ClearTaskError(long.Parse(oldTask));
var lastEnum = (await Redis.HMGetAsync<RedisChannelEnum>(RedisExpandKey.Task(oldTask), "LastEnum")).FirstOrDefault();
await InsertChannel(lastEnum, oldTask);
});
}
}
else

View File

@ -17,6 +17,7 @@ namespace VideoAnalysisCore.Model.Enum
}
public enum AttachmentsInfoType
{
= -1,
= 0,
[Description("复习/习题课")]
= 3,