diff --git a/VideoAnalysisCore/AICore/GPT/GTP_Analysis_1.cs b/VideoAnalysisCore/AICore/GPT/GTP_Analysis_1.cs index edbd20d..7fbf25c 100644 --- a/VideoAnalysisCore/AICore/GPT/GTP_Analysis_1.cs +++ b/VideoAnalysisCore/AICore/GPT/GTP_Analysis_1.cs @@ -325,37 +325,32 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek var resFormat = """[{"t":时间(number),"r"字幕(string)}]"""; var postMessages = $$""" - 角色设定 - 你是一位深耕中国{{subject}}教育领域的学科专家,拥有深厚的学术背景和文字校对经验,负责将{{sections}}内容的原始语音字幕(STT)转化为高质量的教学文稿。 - 核心任务 - 对输入的 JSON 数组进行逐条优化。你必须在保持【原数组长度不变】的前提下,完成以下处理: - 1. 术语纠错:基于{{subject}}学科,{{sections}}的背景,结合上下文的字幕修正同音错别字。 - 如:将“极地”修正为“极点”、“分母”误写为“父母”等。修复因断句导致的语义破碎。 - 即使语义不完整,也只能在当前字幕内做最小修复 - 2. 口语过滤:剔除“那个、然后、嗯、啊、就是”等冗余词汇。 - 若当前字幕在过滤后无有效信息,必须返回空字符串 "",但该数组位置必须保留。 - 3. 学术润色:在不改变老师原意的前提下,微调语序使其符合学术表达逻辑。 - 禁止重写为需要上下文才能成立的完整句 - 4. 公式标准:所有数学/科学公式必须转换为 LaTeX 格式。极其重要:在 JSON 字符串中,LaTeX 的反斜杠需双重转义,例如写成 $\\\\frac{a}{b}$,并且使用$包裹公式"。 - 强制执行约束(不可违背) - 数组保序:输出 JSON 数组的长度必须严格等于 {{cStrArr.Count()}}(即输入条数)。严禁合并、拆分或增减数组成员。 - 纯净 JSON:输出必须为合法的 JSON 字符串,禁止包含 ```json 等 Markdown 标记,禁止任何解释性文字。 - 待处理数据 {{nowCaptionStr}} - 强制执行约束(最高优先级,不可违背) - 1. 数组长度锁定:输出 JSON 数组长度必须严格等于 {{cStrArr.Count()}} - 2. 索引一一对应:第 N 条输出字幕只能由第 N 条输入字幕生成 - 3. 禁止跨条操作:严禁合并、拆分、移动、补充、重排字幕 - 4. 即使某条字幕为 "", 也不得将其语义转移到其他条目 - 5. 纯净 JSON:输出必须为合法 JSON 字符串,禁止 Markdown,禁止解释性文字 + # Role + 你是一位{{subject}}学科的教育专家与资深校对。你的任务是将{{sections}}内容的原始语音识别(STT)JSON 数据清洗为高质量教学文本。 + # Input & Output Protocol + 输入和输出均为严格的 JSON 数组格式:`[{"t": number, "r": string}]`。 + * `t` (Time): 绝对锚点,代表时间戳。严禁修改、严禁排序、严禁删除。 + * `r` (Result): 字幕内容,仅对此字段进行清洗。 + # Processing Rules (按优先级执行) + 1. 结构铁律 (最高优先级): + 长度一致:输入 N 条,输出必须 N 条。 + 时间锁定:输出的第 i 条 `t` 必须等于输入的第 i 条 `t`。 + 原地修正:禁止跨行移动文本。即使一句话被切分在两行,也不要合并它们,只需分别修正各自行的错别字即可。 - 输入数据结构 - t:表示开始时间 - r:需要优化的字幕内容 - 输出数据结构: - t:输入传入的t - r:优化后字幕内容 - 请开始处理。 - 在输出前,请自检:输出数组长度是否与输入完全一致。 + 2. 上下文关联修正 (核心任务): + 全局理解,局部修正:请阅读前后多行内容来确定当前行特定词汇的含义,解决同音错别字。 + 案例:如果上一行是“求函数的”,当前行是“集值”,结合数学上下文应修正为“极值”。 + 逻辑:修正依据是“上下文语义”,但修正范围仅限“当前行文本”。 + + 3. 内容清洗标准: + 口语过滤:删除“那个、然后、嗯、啊、就是”等无意义填充词。若该行被清空,`r` 设为 `""`,保留对象。 + LaTeX 格式化:数学/科学公式必须转换为 LaTeX (如 `$\\frac{a}{b}$`),JSON 中反斜杠需双重转义 (`\\\\`)。 + # Task Data + 待处理数据 (共 {{cStrArr.Count()}} 条): + {{nowCaptionStr}} + + # Action + 请立即开始处理。输出结果必须是纯净的 JSON 字符串,严格遵守上述规则。 """; List? resData = null; for (int i = 0; i < 6; i++) diff --git a/VideoAnalysisCore/Controllers/LJZK_Controller.cs b/VideoAnalysisCore/Controllers/LJZK_Controller.cs index 37cca9a..54401e9 100644 --- a/VideoAnalysisCore/Controllers/LJZK_Controller.cs +++ b/VideoAnalysisCore/Controllers/LJZK_Controller.cs @@ -39,7 +39,7 @@ namespace VideoAnalysisCore.Controllers private readonly Repository nodePackageInfoDB; private readonly Repository videoQuestionDB; private readonly Repository videoQuestionKonwDB; - private readonly RedisManager redisManager; + private readonly RedisManager redisManager; public LJZK_Controller(IMapper mp, Repository nodesubscriptionDB, Repository videoTaskDB = null, Repository videoKonwPointDB = null