parent
3b431b978a
commit
7dd5054060
|
|
@ -66,15 +66,15 @@
|
|||
"EndPoint": "vod.cn-shanghai.aliyuncs.com" //上传节点
|
||||
},
|
||||
"AliyunOSS": {
|
||||
"AccessKeyId": "LTAI5tDC6p9h747B7FHbgwkH",
|
||||
"AccessKeySecret": "vRKgmbp1LB05LaGOjh3ZrZxbHSLYLF",
|
||||
"AccessKeyId": "LTAI5tFLXyC3ixVdxhxLih8K",
|
||||
"AccessKeySecret": "dlGu3WMoW0XQaoAYxiCPpnxry6qLhB",
|
||||
"BucketDomain": "https://learn-videoanalysis.oss-cn-chengdu.aliyuncs.com",
|
||||
"Region": "cn-chengdu",
|
||||
"BucketName": "learn-videoanalysis",
|
||||
"EndPoint": "oss-cn-chengdu.aliyuncs.com" //上传节点
|
||||
},
|
||||
"OtherDBArr": [
|
||||
{// 线上正式环境库
|
||||
{ // 线上正式环境库
|
||||
"ConfigId": 1001, //ResourceBank
|
||||
"ConnectionString": "AllowLoadLocalInfile=true;Server=rm-2vc20nd3d11g0oh6g2o.rwlb.cn-chengdu.rds.aliyuncs.com;User ID=marking;Password=poiuytPOIUYT098765)(*&^%;Port=3306;Database=resourcebank;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
"SqlType": "MySql"
|
||||
|
|
|
|||
|
|
@ -22,14 +22,6 @@
|
|||
"FFmpeg": {
|
||||
" TimeSlice": 600
|
||||
},
|
||||
"AliyunOSS": {
|
||||
"AccessKeyId": "LTAI5tDC6p9h747B7FHbgwkH",
|
||||
"AccessKeySecret": "vRKgmbp1LB05LaGOjh3ZrZxbHSLYLF",
|
||||
"BucketDomain": "https://learn-videoanalysis.oss-cn-chengdu.aliyuncs.com",
|
||||
"Region": "cn-chengdu",
|
||||
"BucketName": "learn-videoanalysis",
|
||||
"EndPoint": "oss-cn-chengdu.aliyuncs.com" //上传节点
|
||||
},
|
||||
"DB": {
|
||||
//"ConnectionString": "AllowLoadLocalInfile=true;Server=10.255.255.3;Port=3306;Database=learn.videoanalysis;User ID=marking;Password=qwe123!@#;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
"ConnectionString": "AllowLoadLocalInfile=true;Server=rm-2vc20nd3d11g0oh6g2o.rwlb.cn-chengdu.rds.aliyuncs.com;User ID=marking;Password=poiuytPOIUYT098765)(*&^%;Port=3306;Database=learn.videoanalysis;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
//"ConnectionString": "AllowLoadLocalInfile=true;Server=rm-2vc20nd3d11g0oh6g2o.rwlb.cn-chengdu.rds.aliyuncs.com;User ID=marking;Password=poiuytPOIUYT098765)(*&^%;Port=3306;Database=learn.videoanalysis;CharSet=utf8mb4;pooling=true;SslMode=None",
|
||||
|
||||
"SqlType": "MySql",
|
||||
"UpdateTable": true
|
||||
"UpdateTable": false
|
||||
},
|
||||
"AlibabaCloudVod": {
|
||||
"AccessKeyId": "LTAI5tDC6p9h747B7FHbgwkH",
|
||||
|
|
@ -84,8 +84,8 @@
|
|||
"EndPoint": "vod.cn-shanghai.aliyuncs.com" //上传节点
|
||||
},
|
||||
"AliyunOSS": {
|
||||
"AccessKeyId": "LTAI5tDC6p9h747B7FHbgwkH",
|
||||
"AccessKeySecret": "vRKgmbp1LB05LaGOjh3ZrZxbHSLYLF",
|
||||
"AccessKeyId": "LTAI5tFLXyC3ixVdxhxLih8K",
|
||||
"AccessKeySecret": "dlGu3WMoW0XQaoAYxiCPpnxry6qLhB",
|
||||
"BucketDomain": "https://learn-videoanalysis.oss-cn-chengdu.aliyuncs.com",
|
||||
"Region": "cn-chengdu",
|
||||
"BucketName": "learn-videoanalysis",
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ using VideoAnalysisCore.AICore.GPT.Gemini;
|
|||
namespace VideoAnalysisCore.AICore.GPT
|
||||
{
|
||||
|
||||
public interface IBserGPTWorkflow
|
||||
public interface IBaseGPTWorkflow
|
||||
{
|
||||
/// <summary>
|
||||
/// 访问GPT
|
||||
|
|
@ -185,10 +185,13 @@ namespace VideoAnalysisCore.AICore.GPT
|
|||
public static void AddGPTService(this IServiceCollection services)
|
||||
{
|
||||
services.AddSingleton<DeepSeekGPTClient>();
|
||||
services.AddSingleton<BSET_DeepSeekGPTClient>();
|
||||
services.AddSingleton<BSET_DeepSeekGPTClient
|
||||
|
||||
|
||||
>();
|
||||
services.AddSingleton<BestAIClient>();
|
||||
services.AddSingleton<GeminiGPTClient>();
|
||||
services.AddSingleton<IBserGPTWorkflow, GTP_Analysis_1>();
|
||||
services.AddSingleton<IBaseGPTWorkflow, GTP_Analysis_1>();
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -33,7 +33,7 @@ namespace VideoAnalysisCore.AICore.GPT
|
|||
/// <summary>
|
||||
/// 视频分析工作流1
|
||||
/// </summary>
|
||||
public class GTP_Analysis_1 : IBserGPTWorkflow
|
||||
public class GTP_Analysis_1 : IBaseGPTWorkflow
|
||||
{
|
||||
private readonly GeminiGPTClient geminiClient;
|
||||
private readonly DeepSeekGPTClient deepSeekClient;
|
||||
|
|
|
|||
|
|
@ -67,21 +67,21 @@ namespace VideoAnalysisCore.Common
|
|||
SubscribeList.Add(RedisChannelEnum.AI课程类型, async (task) =>
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var service = scope.ServiceProvider.GetService<IBserGPTWorkflow>();
|
||||
var service = scope.ServiceProvider.GetService<IBaseGPTWorkflow>();
|
||||
if (service is null) throw new Exception("IBserGPT 未注入");
|
||||
await service.GetVideoType(task);
|
||||
});
|
||||
SubscribeList.Add(RedisChannelEnum.AI模型分析, async (task) =>
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var service = scope.ServiceProvider.GetService<IBserGPTWorkflow>();
|
||||
var service = scope.ServiceProvider.GetService<IBaseGPTWorkflow>();
|
||||
if (service is null) throw new Exception("IBserGPT 未注入");
|
||||
await service.GetKnow(task);
|
||||
});
|
||||
SubscribeList.Add(RedisChannelEnum.AI分析试题, async (task) =>
|
||||
{
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var service = scope.ServiceProvider.GetService<IBserGPTWorkflow>();
|
||||
var service = scope.ServiceProvider.GetService<IBaseGPTWorkflow>();
|
||||
if (service is null) throw new Exception("IBserGPT 未注入");
|
||||
await service.GetVideoQuestion(task);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -132,9 +132,9 @@ namespace VideoAnalysisCore.Controllers
|
|||
public IActionResult StartTask(bool task)
|
||||
{
|
||||
if (task)
|
||||
videoSliceWorkflowManager.StopTask=false;
|
||||
videoSliceWorkflowManager.StopTask = false;
|
||||
else
|
||||
videoSliceWorkflowManager.StopTask=true;
|
||||
videoSliceWorkflowManager.StopTask = true;
|
||||
return Ok();
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -168,7 +168,7 @@ namespace VideoAnalysisCore.Controllers
|
|||
{
|
||||
using var s = file.OpenReadStream();
|
||||
var res = senseVoice.RunTask(s);
|
||||
return Ok(res);
|
||||
return Ok(res);
|
||||
}
|
||||
/// <summary>
|
||||
/// 语音识别
|
||||
|
|
@ -371,7 +371,7 @@ namespace VideoAnalysisCore.Controllers
|
|||
.LRangeAsync<TaskLog>(RedisExpandKey.TaskLog, 0, 99))
|
||||
.Where(s => s.VideoTaskId == id);
|
||||
|
||||
logArr = logArr.Concat(insertData).ToArray();
|
||||
logArr = logArr.Concat(insertData).ToArray();
|
||||
|
||||
// 获取所有相关工作流的状态
|
||||
var workflows = await baseService.Context.Queryable<VideoTaskWorkflow>()
|
||||
|
|
@ -464,7 +464,15 @@ namespace VideoAnalysisCore.Controllers
|
|||
{
|
||||
// 扫描 Heartbeat Key
|
||||
var pattern = RedisExpandKey.DeviceHeartbeat("*");
|
||||
var keys = redisManager.Redis.Scan(pattern, 1000).ToList();
|
||||
var keys = new List<string>();
|
||||
long cursor = 0;
|
||||
do
|
||||
{
|
||||
var scanResult = redisManager.Redis.Scan(cursor, pattern, 1000, null);
|
||||
keys.AddRange(scanResult.items);
|
||||
cursor = scanResult.cursor;
|
||||
} while (cursor != 0);
|
||||
|
||||
var prefix = RedisExpandKey.DeviceHeartbeat("");
|
||||
var devices = keys.Select(k => k.Replace(prefix, "")).ToList();
|
||||
return Ok(devices);
|
||||
|
|
@ -490,7 +498,15 @@ namespace VideoAnalysisCore.Controllers
|
|||
oldTaskArr = new List<long>();
|
||||
// 直接扫描 Heartbeat Key 获取在线设备
|
||||
var pattern = RedisExpandKey.DeviceHeartbeat("*");
|
||||
var keys = redisManager.Redis.Scan(pattern, 1000).ToList();
|
||||
var keys = new List<string>();
|
||||
long cursor = 0;
|
||||
do
|
||||
{
|
||||
var scanResult = redisManager.Redis.Scan(cursor, pattern, 1000, null);
|
||||
keys.AddRange(scanResult.items);
|
||||
cursor = scanResult.cursor;
|
||||
} while (cursor != 0);
|
||||
|
||||
var prefix = RedisExpandKey.DeviceHeartbeat("");
|
||||
var onlineDevices = keys.Select(k => k.Replace(prefix, "")).ToList();
|
||||
|
||||
|
|
@ -537,7 +553,7 @@ namespace VideoAnalysisCore.Controllers
|
|||
public async Task<object> ErrorTaskList([FromBody] QueryRequestBase model)
|
||||
{
|
||||
var sqlquery = base.BaseQuery(model)
|
||||
.Where(s => s.ErrorMessage!=null && s.ErrorMessage !="")
|
||||
.Where(s => s.ErrorMessage != null && s.ErrorMessage != "")
|
||||
.Select(s => new VideoTask
|
||||
{
|
||||
Id = s.Id,
|
||||
|
|
@ -562,14 +578,14 @@ namespace VideoAnalysisCore.Controllers
|
|||
/// <param name="id">查询模型</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<IEnumerable<TaskLog>> TaskLog(long id )
|
||||
public async Task<IEnumerable<TaskLog>> TaskLog(long id)
|
||||
{
|
||||
var logArr = await taskLogDB.AsQueryable()
|
||||
.Where(s => s.VideoTaskId == id)
|
||||
.ToArrayAsync();
|
||||
var insertData = (await redisManager.Redis
|
||||
.LRangeAsync<TaskLog>(RedisExpandKey.TaskLog, 0, 99))
|
||||
.Where(s=>s.VideoTaskId == id);
|
||||
.Where(s => s.VideoTaskId == id);
|
||||
|
||||
return logArr.Concat(insertData);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue