优化 提示词 加上分析的改进意见
This commit is contained in:
parent
3e2627c55e
commit
8abe276c9d
|
|
@ -11,7 +11,7 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
//public const string GPT5_mini = "gpt-5-mini";
|
//public const string GPT5_mini = "gpt-5-mini";
|
||||||
//public const string GPT5 = "gpt-5-2025-08-07";
|
//public const string GPT5 = "gpt-5-2025-08-07";
|
||||||
|
|
||||||
public const string GPT54_mini = "gpt-5.4-mini";
|
public const string GPT54_mini = "gpt-5.4-mini-2026-03-17";
|
||||||
public const string GPT54 = "gpt-5.4";
|
public const string GPT54 = "gpt-5.4";
|
||||||
|
|
||||||
public const string Deepseek_Reasoner = "deepseek-reasoner";
|
public const string Deepseek_Reasoner = "deepseek-reasoner";
|
||||||
|
|
|
||||||
|
|
@ -220,16 +220,17 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
var checkMessage =
|
var checkMessage =
|
||||||
$"""
|
$"""
|
||||||
请你担任一位专业的视频内容分析教研老师,擅长评估视频内容的结构和逻辑流暢度。
|
请你担任一位专业的视频内容分析教研老师,擅长评估视频内容的结构和逻辑流暢度。
|
||||||
|
{(taskInfo.VideoType == AttachmentsInfoType.复习 ?" 本堂课是复习课,分段可能是针对大段的知识点讲解" :string.Empty)}
|
||||||
核心任务: 请根据我提供的【分段方案】【完整字幕文本】,对该分段方案进行严谨评估。
|
核心任务: 请根据我提供的【分段方案】【完整字幕文本】,对该分段方案进行严谨评估。
|
||||||
补充上下文:{pptFormat}
|
补充上下文:{pptFormat}
|
||||||
本节课所属章节:{sections}
|
本节课所属章节:{sections}
|
||||||
内容结构与主题合理性:
|
内容结构与主题合理性:
|
||||||
分段准确性:评估单个分段内的课堂字幕内容与分段的Theme/Conten匹配、是否存在错误,捏造的情况(硬性指标)。
|
分段准确性:评估单个分段内的课堂字幕描述内容与分段的Theme/Conten匹配、是否存在错误,捏造的情况(硬性指标)。
|
||||||
知识点分配:检查分段内的知识点是否与分段Conten有关联,知识点分配给这个分段是否合理(硬性指标)。
|
知识点分配:检查分段内的知识点是否与分段Conten有关联,知识点分配给这个分段是否合理(硬性指标)。
|
||||||
逻辑过渡:评估分段之间的过渡是否自然流畅,后一段是否是前一段内容的合理延伸或转折。
|
逻辑过渡:评估分段之间的过渡是否自然流畅,后一段是否是前一段内容的合理延伸或转折。
|
||||||
额外补充:
|
额外补充:
|
||||||
1. 忽略掉分段没有结束时间的问题我会自己处理
|
1. 忽略掉分段没有结束时间的问题我会自己处理
|
||||||
2. 评估的分数只针对分段方案的内容是否与实际字幕描述内容符合
|
2. 评估的分数只针对分段方案的内容是否与实际字幕讲述内容符合
|
||||||
3. 字幕内容仅供参考不被计入扣分项
|
3. 字幕内容仅供参考不被计入扣分项
|
||||||
综合评分:
|
综合评分:
|
||||||
请基于以上分析,提供一个0-100的综合得分(70分及格,打分一定要严谨,总分一定要准确)。
|
请基于以上分析,提供一个0-100的综合得分(70分及格,打分一定要严谨,总分一定要准确)。
|
||||||
|
|
@ -394,7 +395,7 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private async Task<List<VideoKnowRes>> Analytics(VideoTask taskInfo,
|
private async Task<List<VideoKnowRes>> Analytics(VideoTask taskInfo,
|
||||||
TotalCaptionsDto captions, string sections)
|
TotalCaptionsDto captions, string sections,string last改进意见)
|
||||||
{
|
{
|
||||||
var tryCount = 10;
|
var tryCount = 10;
|
||||||
while (tryCount-- > 0)
|
while (tryCount-- > 0)
|
||||||
|
|
@ -422,8 +423,10 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
不分析课堂作业相关的内容我已经预处理了
|
不分析课堂作业相关的内容我已经预处理了
|
||||||
初步划分阶段:{keyFrameStr}
|
初步划分阶段:{keyFrameStr}
|
||||||
Stage:判断阶段类型如果内容以解题为主,归类为“例题精讲”;如果涉及新知识讲解,归类为“新知讲解”;以此类推。
|
Stage:判断阶段类型如果内容以解题为主,归类为“例题精讲”;如果涉及新知识讲解,归类为“新知讲解”;以此类推。
|
||||||
Content:简述单个阶段的核心讲解内容40~150字(如“例题”“证明”“练习”“总结”...), 必须完全基于字幕文本可推断的信息,禁止捏造不存在的内容(硬性条件)。
|
Content:简述单个阶段的核心讲解内容40~150字(如“例题”“证明”“练习”“总结”...), 必须完全基于字幕文本可推断的信息,禁止捏造不存在的内容,表述可稍微收敛绝对化措辞,避免出现比字幕更强的结论外推(硬性条件)。
|
||||||
Theme:理解Content,提炼一个精确的主题(例如,“柯西不等式的基本应用”)。
|
Theme:理解Content,提炼一个精确的主题 (例如,“xxxx的基本应用” 标题尽量避免过度理想化,保持“教学实际流程”与“知识点概括”一致)。
|
||||||
|
{(string.IsNullOrEmpty(last改进意见) ? last改进意见 :"我还有一段上次分析结果的的改进意见 也请你在分析时也参考不要在出现相同问题 "+ last改进意见)}
|
||||||
|
--------------------------------------------------------
|
||||||
输出要求:确保阶段划分合理、无重叠、
|
输出要求:确保阶段划分合理、无重叠、
|
||||||
输出格式要求:内容只返回json格式({resFormat})
|
输出格式要求:内容只返回json格式({resFormat})
|
||||||
字幕格式(开始秒:内容|下一段字幕).以下是包含时间的视频字幕文本。
|
字幕格式(开始秒:内容|下一段字幕).以下是包含时间的视频字幕文本。
|
||||||
|
|
@ -760,10 +763,11 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
var maxVideoTime = captions?.TimeBase?.LastOrDefault()?.End ?? 0;
|
var maxVideoTime = captions?.TimeBase?.LastOrDefault()?.End ?? 0;
|
||||||
List<VideoKnowRes>? questionRes = null;
|
List<VideoKnowRes>? questionRes = null;
|
||||||
var tryCount = 20;
|
var tryCount = 20;
|
||||||
|
var last改进意见 = string.Empty;
|
||||||
while (tryCount-- > 0)
|
while (tryCount-- > 0)
|
||||||
{
|
{
|
||||||
//视频字幕分析
|
//视频字幕分析
|
||||||
questionRes = await Analytics(taskInfo, captions, sections);
|
questionRes = await Analytics(taskInfo, captions, sections, last改进意见);
|
||||||
if (questionRes is null) continue;
|
if (questionRes is null) continue;
|
||||||
//处理分段 知识点
|
//处理分段 知识点
|
||||||
List<VideoKonwPoint> insertData = await GetVideoKnow(questionRes, taskInfo, sections, knowledgeInfos);
|
List<VideoKonwPoint> insertData = await GetVideoKnow(questionRes, taskInfo, sections, knowledgeInfos);
|
||||||
|
|
@ -774,6 +778,8 @@ namespace VideoAnalysisCore.AICore.GPT
|
||||||
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>课堂内容AI分析结果 得分=>{checkRes.Score}");
|
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>课堂内容AI分析结果 得分=>{checkRes.Score}");
|
||||||
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>改进意见 {checkRes.Suggestion}");
|
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>改进意见 {checkRes.Suggestion}");
|
||||||
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>扣分原因 {checkRes.MinusScore}");
|
await _workflowManager.AddTaskLog(taskInfo.Id, $"==>扣分原因 {checkRes.MinusScore}");
|
||||||
|
last改进意见 = checkRes.Suggestion;
|
||||||
|
|
||||||
// 质量复检
|
// 质量复检
|
||||||
//if (checkRes != null)
|
//if (checkRes != null)
|
||||||
//{
|
//{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue