优化 AI分析超时情况

This commit is contained in:
小肥羊 2025-11-07 15:39:54 +08:00
parent 94aa7572bf
commit 42becf154a
4 changed files with 13 additions and 6 deletions

View File

@ -10,6 +10,7 @@ using Whisper.net;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using VideoAnalysisCore.AICore.GPT.ChatGPT; using VideoAnalysisCore.AICore.GPT.ChatGPT;
using VideoAnalysisCore.AICore.GPT.DeepSeek; using VideoAnalysisCore.AICore.GPT.DeepSeek;
using System.Text.Json.Serialization;
namespace VideoAnalysisCore.AICore.GPT namespace VideoAnalysisCore.AICore.GPT
{ {
@ -51,7 +52,7 @@ namespace VideoAnalysisCore.AICore.GPT
/// <para>此功能处于 Beta 阶段。 如果指定,我们的系统将尽最大努力确定性地采样,这样具有相同 and 参数的重复请求应该返回相同的结果。 无法保证确定性,您应该参考 response 参数来监控后端的变化</para> /// <para>此功能处于 Beta 阶段。 如果指定,我们的系统将尽最大努力确定性地采样,这样具有相同 and 参数的重复请求应该返回相同的结果。 无法保证确定性,您应该参考 response 参数来监控后端的变化</para>
/// </summary> /// </summary>
public int? seed { get; set; } = null; public int? seed { get; set; } = null;
[json] [JsonIgnore]
public string? title { get; set; } = null; public string? title { get; set; } = null;
/// <summary> /// <summary>
/// 推理模型 (deepseek-reasoner) /// 推理模型 (deepseek-reasoner)

View File

@ -46,12 +46,13 @@ namespace VideoAnalysisCore.AICore.GPT.ChatGPT
Message[] messageArr = [ Message[] messageArr = [
new Message(postMessages,"user"), new Message(postMessages,"user"),
]; ];
model = model ?? ChatGPTType.GPT5_mini;
messageArr = messageArr.Where(s => s != null).ToArray(); messageArr = messageArr.Where(s => s != null).ToArray();
var chatReq = new ChatRequest var chatReq = new ChatRequest
{ {
taskId = task, taskId = task,
model = model, model = model,
max_tokens = model == "deepseek-reasoner" ? 16000 : 8000, max_tokens =8000,
stream = true, stream = true,
temperature = 0.2f, temperature = 0.2f,
messages = messageArr messages = messageArr

View File

@ -86,14 +86,17 @@ namespace VideoAnalysisCore.AICore.GPT
var messageBuilder1 = new StringBuilder(); var messageBuilder1 = new StringBuilder();
var lastChat = new ChatResSSE(); var lastChat = new ChatResSSE();
var splitCount = "data:".Length; var splitCount = "data:".Length;
var maxLoop = 60 * 100000; var maxLoop = 50 * 200;
int threshold = 0; int threshold = 0;
while (maxLoop > 0) var startTime= DateTime.Now;
var endTime = startTime.AddHours(1.5);
//最长分析分析时间1.5小时 或者重试读取 1w次
while (maxLoop > 0 && DateTime.Now < endTime)
{ {
line = reader.ReadLine(); line = reader.ReadLine();
if (line is null || string.IsNullOrEmpty(line) || line.StartsWith(": keep-alive")) if (line is null || string.IsNullOrEmpty(line) || line.StartsWith(": keep-alive"))
{ {
Thread.Sleep(10); Thread.Sleep(50);
maxLoop--; maxLoop--;
continue; continue;
} }

View File

@ -26,7 +26,9 @@ namespace VideoAnalysisCore.Model.Enum
[Description("班会")] [Description("班会")]
= 5, = 5,
[Description("其他资料")] [Description("其他资料")]
= 7 = 7,
[Description("教研")]
= 8
} }
} }